关于RSA加密的代码

[复制链接]
1818|11
 楼主| djz1992 发表于 2016-5-30 09:58 | 显示全部楼层 |阅读模式
这个加密程序的ABC是哪来的?固定的?还是有别的函数随机生成,然后双方互相告知的?听说加密解密都是这个函数是么?有大神了解么。。@xyz549040622  @dirtwillfly
Const unsigned uint32_t M1  =A;
Const unsigned uint32_t IA1 =B;
Const unsigned uint32_t IC1 =C;
Void encrypt(uint32_t key, unsigned char* buffer, uint32_t size )
{
uint32_t idx = 0;
if( 0 = = key )
{
key = 1;
}
uint32_t mkey = M1;
if (0 = = mkey )
{
    mkey = 1;
}
while( idx < size )
{
key = IA1 * ( key % mkey ) + IC1;
buffer[idx++] ^= (unsigned char)((key>>20)&0xFF);
}
}
 楼主| djz1992 发表于 2016-5-30 15:06 | 显示全部楼层
@hgjinwei 大神,看看呢,我看到你有回复过相关内容。。。
 楼主| djz1992 发表于 2016-5-30 15:52 | 显示全部楼层
我看到TM4c有AES,这个怎么用的?
hgjinwei 发表于 2016-5-30 18:06 | 显示全部楼层
djz1992 发表于 2016-5-30 15:06
@hgjinwei 大神,看看呢,我看到你有回复过相关内容。。。

Sorry,我看不出这个加密算法和RSA有何关系。
感觉这是个自定义的加密算法,我所知的加密算法没一个与之类似的。
dirtwillfly 发表于 2016-5-30 18:55 | 显示全部楼层
这是哪里的代码?官网例程吗?
hgjinwei 发表于 2016-5-31 10:33 | 显示全部楼层
网上查了下,这个加密算法是《道路运输车辆卫星定位系统平台数据交换》标准里定义的一个算法(见附件:4.4.7)。
对于M1,IA1,IC1,标准里面是这么说的:
d) 不同的上下级平台之间,加密的算法是一致的,但是针对M1、IA1、IC1的不同。数据先经过加密而后加密。

貌似只提到M1、IA1、IC1在不同平台间是不同的,但如何不同,如何约定,我没有发现。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

打赏榜单

dirtwillfly 打赏了 3.00 元 2016-05-31
理由:热心网友,这么偏门的资料都能查到。以示鼓励

评分

参与人数 1威望 +6 收起 理由
dirtwillfly + 6 很给力!

查看全部评分

dirtwillfly 发表于 2016-5-31 12:42 | 显示全部楼层
hgjinwei 发表于 2016-5-31 10:33
网上查了下,这个加密算法是《道路运输车辆卫星定位系统平台数据交换》标准里定义的一个算法(见附件:4.4.7 ...

赞一个
 楼主| djz1992 发表于 2016-5-31 16:06 | 显示全部楼层
hgjinwei 发表于 2016-5-31 10:33
网上查了下,这个加密算法是《道路运输车辆卫星定位系统平台数据交换》标准里定义的一个算法(见附件:4.4.7 ...

也就是说这个加密算法是非主流的,自定义的。ABC和key都是双方定义的,互相知道
yyj8902 发表于 2016-5-31 18:31 | 显示全部楼层
hgjinwei 发表于 2016-5-31 10:33
网上查了下,这个加密算法是《道路运输车辆卫星定位系统平台数据交换》标准里定义的一个算法(见附件:4.4.7 ...

这都可以翻出来,牛X。
dirtwillfly 发表于 2016-5-31 22:33 | 显示全部楼层
这么偏门的资料都能查到,很攒
hgjinwei 发表于 2016-6-1 08:13 | 显示全部楼层
起始也没什么难查的啦,

1、key = IA1 * ( key % mkey ) + IC1;
2、buffer[idx++] ^= (unsigned char)((key>>20)&0xFF);

“表达式2” 对于加密算法而言,是比较常见的数值处理方式,
而“表达式1” 对于加密算法而言,是一种密钥生成算法(类似AES的S-BOX),那么网上搜表达式1,就出来了。
dirtwillfly 发表于 2016-6-1 20:24 | 显示全部楼层
hgjinwei 发表于 2016-6-1 08:13
起始也没什么难查的啦,

1、key = IA1 * ( key % mkey ) + IC1;

学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:人生苦短,冬日苦长,正是青葱,却无骄阳

115

主题

620

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部