赞 | 1 |
VIP | 20 |
好人卡 | 8 |
积分 | 3 |
经验 | 6181 |
最后登录 | 2022-8-5 |
在线时间 | 271 小时 |
Lv2.观梦者 神隐的主犯
- 梦石
- 0
- 星屑
- 299
- 在线时间
- 271 小时
- 注册时间
- 2008-2-22
- 帖子
- 7691
|
- module ReisenRSA
- class Reisen_RSA
- def initialize(p, q)
- @p = p
- @q = q
- get_data
- end
-
- def get_data
- @n = @p * @q
- @t =(@p - 1) * (@q - 1)
- end
-
- def get_d(e)
- (1..99999).each do |i|
- return i if i * e % @t == 1
- end
- end
-
- def pack(e, number)
- @d = get_d(e)
- @e = e
- return number ** @d % @n
- end
-
- def unpack(e, number)
- if @e != e
- @d = get_d(e)
- @e = e
- end
- return number ** e % @n
- end
-
- end
- end
复制代码 好吧,整数简单的 RSA 算法. 要求苛刻. 需要 q p 是质数, e 要小于 t =(p- 1) * (q - 1). 先判断正负,取绝对值来计算. |
|