RSA(e, n)加密问题,帮帮我解决一个char* 加密的问题,我的char*类型里面每个字节存放的是一个十六进制数, 现在对其使用RSA加密但遇到两个棘手的问题:
1, 本来我一个char字节里存放一个数字范围在0 - 255之间,现在加密后这个密文大于255,不是一个字节就存不下了吗,可能需要两个 三个字节来存储, 这该怎么办呢, 难道我要改变原来char*类型的长度, 那解密时我如何确定几个长度字节是一个数据呢?
2,加密的过程中对明文M求其的e次方, 万一e很大导致中间值溢出怎么办, 其结果就不正确了吗?
RSA加密问题,帮帮我解决一个char* 加密的问题,我的char*类型里面每个字节存放的是一个十六进制数
答案:2 悬赏:40 手机版
解决时间 2021-03-18 13:37
- 提问者网友:战魂
- 2021-03-17 16:54
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-03-17 18:16
加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对应的密文是:
ci = mi^e ( mod n ) ( a )
解密时作如下计算:
mi = ci^d ( mod n ) ( b )
哪怕加密一个bit,结果长度也是那么长
ci = mi^e ( mod n ) ( a )
解密时作如下计算:
mi = ci^d ( mod n ) ( b )
哪怕加密一个bit,结果长度也是那么长
全部回答
- 1楼网友:一袍清酒付
- 2021-03-17 18:42
首先说一下求ded=1mod(p-1)(q-1)=1mod60即7d=1mod60的意思是e与d的乘积对(p-1)(q-1)取余结果是1,题目给出e=7,(p-1)(q-1)可以求得是60,即(7d)%60=1【%是取余符号】,可以得出43*7=301=5*60+1
题目已给出m=17,秘文c=m^e mod n即m的e次方对n取余,代入数值为17^5%143=10
希望对你有帮助
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯