椭圆曲线加密算法代码及解析 在 椭 圆 曲 线 加 密 中 , 利 用 了 某 种 特 殊 形 式 的 椭 圆 曲 线 , 即 定 义 在 有 限 域 上 的椭 圆 曲 线 。 其 方 程 如 下 : y2=x3+ax+b(mod p) 这 里 p 是 素 数 , a 和 b 为 两 个 小 于 p 的 非 负 整 数 , 它 们 满 足 : 4a3+27b2(mod p)≠ 0 其 中 , x,y,a,b ∈ Fp,则 满 足 式 ( 2) 的 点 ( x,y) 和 一 个 无穷 点 O 就 组 成 了 椭 圆 曲 线E。 椭 圆 曲 线 离 散 对 数 问 题ECDLP 定 义 如 下 : 给 定 素 数 p 和 椭 圆 曲 线 E, 对 Q=kP, 在已 知P,Q 的 情 况 下 求 出 小 于p 的 正 整 数k。 现 在 我 们 描 述 一 个 利 用 椭 圆 曲 线 进 行 加 密 通 信 的 过 程 : 1、 用 户A 选 定 一 条 椭 圆 曲 线Ep(a,b) , 并 取 椭 圆 曲 线 上 一 点 , 作 为 基 点G。 2、 用 户A 选 择 一 个 私 有 密 钥k, 并 生 成 公 开 密 钥K=kG 。 3、 用 户A 将 Ep(a,b) 和 点K, G 传 给 用 户B。 4、 用 户B 接 到 信 息 后 , 将 待 传 输 的 明 文 编 码 到Ep(a,b) 上 一 点M( 将M 转 化为 十 进 制 整 数m, 然 后 令 椭 圆 曲 线 中 点 的 横 坐 标 为m, 根 据 曲 线 方 程 计 算 出 纵 坐标 , 便 得 到 了 一 个 点 。 ), 并 产 生 一 个 随机整 数r( r