小编sha*_*ent的帖子

RDSA实施圣人

首先,我必须说我使用Sage数学的知识非常有限,但我真的想改进一个能够解决我遇到的这些问题.我被要求实施以下内容:

1 - 阅读FIPS 186-4(http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf)ECDSA的定义,并使用Sage数学实现:

  (a) prime eliptic curves (P-xxx)

  (b) binary eliptic curves (B-xxx)
Run Code Online (Sandbox Code Playgroud)

我尝试通过浏览互联网来解决(a)并最终得到以下代码:

练习1,a)

class ECDSA_a:

def __init__(self):
    #Parameters for Curve p-256 as stated on FIPS 186-4 D1.2.3
    p256 = 115792089210356248762697446949407573530086143415290314195533631308867097853951
    a256 = p256 - 3
    b256 = ZZ("5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b", 16)
    ## base point values
    gx = ZZ("6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296", 16)
    gy = ZZ("4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", 16)

    self.F = GF(p256)
    self.C = EllipticCurve ([self.F(a256), self.F(b256)])
    self.G = self.C(self.F(gx), self.F(gy))

    self.N = FiniteField (self.C.order()) # how many points are …
Run Code Online (Sandbox Code Playgroud)

python cryptography elliptic-curve sage ecdsa

16
推荐指数
1
解决办法
263
查看次数

在Sage上使用密码系统NTRU的KEM/DEM

首先,我必须说我使用Sage数学的知识非常有限,但我真的想改进并能够解决我遇到的这些问题.我被要求实施以下内容:

使用密码系统NTRU的Sage实现和库"加密"来构建具有128位安全性的KEM/DEM系统,生成128位的密钥,并且在DEM阶段,使用128位的密码AES.

在尝试解决时,我遇到了sage中NTRU-Prime的实现,并希望用它来解决这个问题:

我的遗产:

p = 739; q = 9829; t = 204
Zx.<x> = ZZ[]; R.<xp> = Zx.quotient(x^p-x-1)
Fq = GF(q); Fqx.<xq> = Fq[]; Rq.<xqp> = Fqx.quotient(x^p-x-1)
F3 = GF(3); F3x.<x3> = F3[]; R3.<x3p> = F3x.quotient(x^p-x-1)

import itertools

def concat(lists):
    return list(itertools.chain.from_iterable(lists))

def nicelift(u):
    return lift(u + q//2) - q//2

def nicemod3(u): # r in {0,1,-1} with u-r in {...,-3,0,3,...}
    return u - 3*round(u/3)

def int2str(u,bytes):
    return ''.join([chr((u//256^i)%256) for i in range(bytes)])

def str2int(s):
     return sum([ord(s[i])*256^i for i in …
Run Code Online (Sandbox Code Playgroud)

python cryptography aes sage

5
推荐指数
0
解决办法
297
查看次数

α的详细含义是 - X是X + 1

在研究语言Prolog时,我发现了以下真或假的问题:

在Prolog ?- X is X+1中,变量的增量为X1.

老师说这是假的,但我不明白为什么.会不会XX+1从现在开始?为什么这是假的?

prolog

3
推荐指数
1
解决办法
753
查看次数

标签 统计

cryptography ×2

python ×2

sage ×2

aes ×1

ecdsa ×1

elliptic-curve ×1

prolog ×1