密码学原语如何应用?解析密码学特有的数据编解码|第10论

隐私保护方案的工程实现,如何关联到学术论文中天书一般的公式符号?密码学工程中,有哪些特有的数据编解码方式、存在哪些认知误区和注意事项、需要克服哪些限制和挑战?

作为支撑隐私保护方案的核心技术,如何运用数据编解码,将密码学论文中抽象的数学符号和公式具象成业务中具体的隐私数据,是学术成果向产业转化需要跨过的第一道门槛。

学术论文中所使用的数学语言与工程中所使用的代码编程语言,差异非常大。不少在数学上容易定义的属性和过程,若要在工程上提供有效实现,颇具挑战。实现不当的话,甚至可能破坏学术方案中的安全假设,最终导致方案失效、隐私数据泄露。

常用的密码学算法拥有多种标准化编解码方式,其应用到隐私保护方案,可以分别解决相应问题。以下将逐一展开。

业务应用难题:类型不匹配

工程实现之道:数据映射

在实际业务中,隐私数据可以表现为五花八门的数据类型,这些类型通常不满足密码学协议中特定的类型要求,无法被直接使用,这就是我们需要解决的第一个问题:数据类型不匹配。

例如,业务系统中,交易的金额是一个长整型整数,而常见的密码学算法可能要求输入为有限循环群中的一个元素,如果直接使用长整型整数的值,可能该值并不在对应的有限循环群中;在椭圆曲线系统中,单个数值还需要转化成曲线上的点坐标,需要将一个数值转化成两个数值的坐标形式。

针对以上问题,密码学工程实现中,一般通过数据映射进行类型转换处理。具体而言,是将用户的隐私数据,通过一定的方法,变换到具体密码协议要求的数据类型。

下面以密码学中的椭圆曲线(Elliptic Curve)加解密为例,介绍一种常见的数据映射方式。

椭圆曲线可以简单理解为定义了一个特定点的集合,例如下面这种公式定义了比较常见的一类椭圆曲线:

其中满足公式成立的点(x, y)都在椭圆曲线上。椭圆曲线密码通过在限定的点集上定义相关的点运算,实现加解密功能。

在椭圆曲线加解密过程中,首先面临的问题是『如何将待加密的数据嵌入到椭圆曲线上,通过点运算来完成加密操作』。这需要将明文数据m映射到椭圆曲线上的一个特定点M(x, y)。

数据编码方式是将明文数据m通过进制转换到椭圆曲线上某点的x坐标值,然后计算m^3 + am + b的完全平方数,得到y,这样就将m转换到了点M(x, y)。

数据解码方式比较直白,解密还原出明文数据点M之后,读取M的x坐标值,再通过进制转换还原

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值