安全多方计算之SPDZ库初探(四)

SPDZ库的安全类型sint、sfix等的比较运算函数:

小于:less_than = __lt__()

大于:greater_than = __gt__()

小于等于: less_equal = __le__()

大于等于: greater_equal = __ge__()

等于: equal = __eq__()

不等于: not_equal = __ne__()

写了一个小程序:

a = sfix(12)
b = sfix(13)
c = sfix.__eq__(a,b)
print_ln("a: %s",a.reveal())
print_ln("b: %s",b.reveal())
print_ln("c: %s",c.reveal())

主要想测试下__eq__()函数的用法。 该函数主要用来比较两个数是否相等。相等返回1,不相等返回0。

编译的时候没有问题:

但是程序执行时出现如下错误:

根据错误描述,程序编译时候没有指定环的比特数。于是需要在编译的时候指定环的比特数。

再次执行程序即可通过。

-------------------------分割线------------------------------------------------------------

a = sfix(12)
b = sfix(13)
print_ln("a: %s",a.reveal())
print_ln("b: %s",b.reveal())
print_ln("less_than: %s", sfix.__lt__(a,b).reveal())
print_ln("greater_than: %s", sfix.__gt__(a,b).reveal())
print_ln("less_equal: %s", sfix.__le__(a,b).reveal())
print_ln("greater_equal: %s", sfix.__ge__(a,b).reveal())
print_ln("equal: %s", sfix.__eq__(a,b).reveal())
print_ln("not_equal: %s", sfix.__ne__(a,b).reveal())  

 程序运行结果:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值