通信人家园

标题: 5G椭圆曲线加密极简解释  [查看完整版帖子] [打印本页]

时间:  2019-11-28 17:30
作者: zhangcdc     标题: 5G椭圆曲线加密极简解释

     椭圆曲线的算法设计和参数选择涉及到近世代数概念,一般从事协议流程开发、测试和网络维护的人员可能没有太多的时间和精力详细研究规范,但又希望对此有个基本理解。
     其实如果跳过椭圆曲线和有关抽象代数操作的严格定义,简单地把椭圆曲线上的加、乘法及其逆运算(减、除)类比成普通的算术操作,其加密原理和流程还是很容易理解的。
     先说"乘",对某个点(坐标)乘以k,可以理解为就是做k次操作,至于是什么操作,随便理解为顺在曲线上选定的有限点集中蹦跶k次,或者说保险柜向左转了k圈。那么加法呢,就是选定另一个点A和B,按照约定的规则,A+B会唯一映射到集合中的第三个点C,就说A+B=C。至于怎么来的,可以简单理解两点决定一条直线,该直线与椭圆曲线的交点会唯一映射到第三点C。其实不用理解这些操作,就当成小学生理解的算术加法好了。
    下面来说移动端和网络端的加解密:
     1、网络和终端约定一个算法和参数集,确定了双方共同的椭圆曲线上的离散点集合,并选定一个参考点G。这一步是在用户签约制作SIM卡时完成的;
     2、网络端选一个整数k,这就是网络端私钥;再把K=kG通知到移动终端,这就是网络端公钥;
     3、移动端也选定一个整数r,这就是移动端私钥;同理,R=rG就是移动端公钥。
     4、假设移动端有一组信息,编码映射到椭圆曲线上一点M上。移动端把M+rK和自己的公钥R分别发给网络端;
     5、网络端收到M+rK和R后,作如下运算:(M+rk)-kR=M+rkG-krG=M.j恢复移动端想要发送的信息(其实这个信息才是真正用来对数据流(如用户身份)加密的密钥)。
     7、如果网络端向移动端发信息,过程完全对称。

     6、任何第三方虽然可截获公钥K和R,但由于不掌握私钥k和r,两个方向的信息都是猜不出来的。




时间:  2020-12-16 12:21
作者: qy08211071

网络端收到M+rK和R后,作如下运算:(M+rK)-kR=M+rkG-krG=M.恢复移动端想要发送的信息(其实这个信息才是真正用来对数据流(如用户身份)加密的密钥)。
其实就是r*K=k*R
时间:  2021-2-8 16:59
作者: zhangcdc

是的




通信人家园 (https://www.txrjy.com/) Powered by C114