V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  oIMOo  ›  全部回复第 161 页 / 共 163 页
回复总数  3243
1 ... 153  154  155  156  157  158  159  160  161  162 ... 163  
2016-02-04 04:06:46 +08:00
回复了 oIMOo 创建的主题 数学 SageMath 关于 Paviller 加密系统的 Zn 和 Znn 转换问题
以下的 ( may be ) 是最终版本:

# Paviller CryptoSystem on SageMath
# Feb. 03, 2016

def getRandom ():
tmp = 0;
while (tmp == 0):
r = ZZ.random_element(2^(512 - 1), 2^512)
# random number 512 bits from 2^(512 - 1) to 2^215 - 1
if is_prime(r):
tmp = 1
return r

def getKeyList ():
LKey = []

# initialize prime number p and q
p = getRandom()
q = getRandom()
while (p == q):
p = getRandom()
LKey.append(p) #Lkey[0]
LKey.append(q) #Lkey[1]

lambdan = lcm(p - 1, q - 1)
LKey.append(lambdan) #Lkey[2]

n = p * q
LKey.append(n) #Lkey[3]

if (gcd(n, lambdan) != 1):
return false

g = n + 1
LKey.append(g) #Lkey[4]

# how it works for returning listKey1 & listKey2 at the same time?
return LKey


def getPubKey (LKey):
KPub = []
KPub.extend(LKey[3:5])
print("Public Keys: n and g")
return KPub

def getPriKey (LKey):
KPri = []
KPri.extend(LKey[0:3])
print("Private Keys: p, q and lamdba(n)")
return KPri

def Encoding (m, KPub):
n = KPub[0]
Zn = Integers(n)
Znn = Integers(n^2)
g = Znn(KPub[1])
r = 0
while (r == 0): # r non-null
r = Znn((Zn.random_element()))
c = Znn(g^m * r^n)
return c

def L(u, KPub):
n = KPub[0]
Znn = Integers(n^2)
return ((Znn(u).lift() - 1) / n)

def Decoding (c, KPub, KPri):
n = KPub[0]
Zn = Integers(n)
Znn = Integers(n^2)
g = Znn(KPub[1])
lambdan = Znn(KPri[2])

Pup = L((c^lambdan), KPub)
Pdown = L((g^lambdan), KPub)
m = Zn(Pup / Pdown)
return m

# fast test with:
# m = getRandom(); m # a number as clear message
# LKey = getKeyList(); KPub = getPubKey (LKey); KPri = getPriKey (LKey); c = Encoding (m, KPub); Decoding (c, KPub, KPri)

放在 GitHub 了: https://github.com/MrBowen/Paviller-on-SageMath.git
2016-02-03 19:44:30 +08:00
回复了 oIMOo 创建的主题 数学 SageMath 关于 Paviller 加密系统的 Zn 和 Znn 转换问题
已解决:
完成版代码见维护末尾。
此代码为了节省运算,将 g 定义为 g = 1 + n 。

(新问题来了: mac 怎么打 “ ` ”,如果用 1 键左边的,我打出来是“ · ”)
```python

def getRandom ():
tmp = 0;
while (tmp == 0):
r = ZZ.random_element(2^(512 - 1), 2^512)
# random number 512 bits from 2^(512 - 1) to 2^215 - 1
if is_prime(r):
tmp = 1
return r

def getKeyList ():
LKey = []

# initialize prime number p and q
p = getRandom()
q = getRandom()
while (p == q):
p = getRandom()
LKey.append(p) #Lkey[0]
LKey.append(q) #Lkey[1]

lambdan = lcm(p - 1, q - 1)
LKey.append(lambdan) #Lkey[2]

n = p * q
LKey.append(n) #Lkey[3]

if (gcd(n, lambdan) != 1):
return false

g = n + 1
LKey.append(g) #Lkey[4]

# how it works with return listKey1, listKey2 ?
return LKey


def getPubKey (LKey):
KPub = []
KPub.extend(LKey[3:5])
return KPub

def getPriKey (LKey):
KPri = []
KPri.extend(LKey[0:3])
return KPri

def Encoding (m, KPub):
n = KPub[0]
Zn = Integers(n)
Znn = Integers(n^2)
g = Znn(KPub[1])
r = Znn(abs(ZZ.random_element()))
c = Znn(g^m * r^n)
return c

def L(u, KPub):
n = KPub[0]
Zn = Integers(n)
Znn = Integers(n^2)
return Zn((u - 1).lift() / n)

def Decoding (c, KPub, KPri):
n = KPub[0]
Zn = Integers(n)
Znn = Integers(n^2)
g = Znn(KPub[1])
lambdan = Znn(KPri[2])

Pup = L(pow(c, lambdan, n^2), KPub)
Pdown = L(pow(g, lambdan, n^2), KPub)
m = Zn(Pup / Pdown)
return m
2016-02-03 16:32:39 +08:00
回复了 oIMOo 创建的主题 数学 SageMath 关于 Paviller 加密系统的 Zn 和 Znn 转换问题
自己顶一下……
2016-02-03 03:10:02 +08:00
回复了 oIMOo 创建的主题 数学 SageMath 关于 Paviller 加密系统的 Zn 和 Znn 转换问题
为咩不能编辑了……
Zn 数学的表达是 Z/nZ
Zn^2 数学的表达是 Z/n^2Z
2016-01-26 03:35:33 +08:00
回复了 oIMOo 创建的主题 macOS 求助 Page 使用者,如何限定 插入符号后,正文字体不变?
@764664 谢谢,现在去搜
2016-01-25 21:57:35 +08:00
回复了 oIMOo 创建的主题 macOS 求助 Page 使用者,如何限定 插入符号后,正文字体不变?
@TimePPT 你有什么推荐的笔记应用么? 能加上下角标的。

比如 a1 的平方 —— 1 在右下角, 2 在右上角。
2016-01-25 21:56:44 +08:00
回复了 oIMOo 创建的主题 macOS 求助 Page 使用者,如何限定 插入符号后,正文字体不变?
@IgniteWhite 我有,但是我没发现这个能加上角标或下角标啊……
2016-01-25 15:58:03 +08:00
回复了 oIMOo 创建的主题 macOS 求助 Page 使用者,如何限定 插入符号后,正文字体不变?
@scomper
目前只能曲线解决……
我把我的“正文”格式重新定义为 12 号字了……
2016-01-25 15:46:26 +08:00
回复了 oIMOo 创建的主题 macOS 求助 Page 使用者,如何限定 插入符号后,正文字体不变?
@scomper
英文状态下(实际是法语状态下,不过应该一样)
默认字号是 11 ,添加后“↓”,字号变为 12.
2016-01-25 15:45:11 +08:00
回复了 oIMOo 创建的主题 macOS 求助 Page 使用者,如何限定 插入符号后,正文字体不变?
特殊符号输入 ⌃⌘ 空格
这个快捷键组合我设置为切换输入法了。
你添加一些箭头试试。
@scomper
谢谢提醒,马上删除
2015-10-23 17:15:47 +08:00
回复了 815lbh 创建的主题 asdf
好神奇的问题!
(我压根儿没看到问题啊……)
2015-10-23 17:05:50 +08:00
回复了 oIMOo 创建的主题 微信 iPhone 如何恢复“被微信语音打断”的音乐播放状态?
今天放着网易云音乐,打了个电话,挂了之后,音乐自动恢复。
所以是微信的问题喽?
2015-10-23 00:17:00 +08:00
回复了 gzelvis 创建的主题 Apple iOS9.1 正式版和 El Capitan 10.11.1 出来了
我从购入就装了……
你平常不关机合开盖子之后,还能读卡么?
2015-10-22 21:37:34 +08:00
回复了 mowangdk 创建的主题 问与答 #求优质个人网盘推荐
https://copy.com?r=T4PNk7
不知道墙了没
2015-10-22 18:37:58 +08:00
回复了 gzelvis 创建的主题 Apple iOS9.1 正式版和 El Capitan 10.11.1 出来了
我又来了……
鉴于大神众多,正好问下迅雷 FC 的问题……
也求教各位是怎么看报告差错的。

我的迅雷下载目标路径是 Transcend SD 卡,不知道和这个有没有关系。
(发生在已更新 Transcend 驱动后)

http://www.weibo.com/p/1001603900815415859622?from=page_100505_profile&wvr=6&mod=wenzhangmod
2015-10-22 18:29:00 +08:00
回复了 gzelvis 创建的主题 Apple iOS9.1 正式版和 El Capitan 10.11.1 出来了
@Sequencer 其实我想知道你们怎么看懂的报告……
虚心求学……
2015-10-22 18:28:15 +08:00
回复了 gzelvis 创建的主题 Apple iOS9.1 正式版和 El Capitan 10.11.1 出来了
@auser 激动的忘记说谢谢了,非常感谢!!!
1 ... 153  154  155  156  157  158  159  160  161  162 ... 163  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1657 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.