【技术实现步骤摘要】
产生随机排列的方法及随机排列产生装置本申请要求于2012年4月2日向韩国知识产权局(KIPO)提交的韩国专利申请No.10-2012-0033797的优先权,该申请的内容整个地通过引用并入本文。
与示例性实施例一致的方法和设备涉及随机排列产生技术,更具体地讲,涉及一种基于二进制随机源产生随机排列的方法、随机排列产生装置和具有该随机排列产生装置的加密/解密装置。
技术介绍
最近,由于数据安全的重要性增加,安全算法被应用于电子装置使用的数据。通常,因为安全算法的执行需要随机排列,所以加密/解密装置需要包括基于二进制随机源(即,具有二进制形式的源)产生随机排列的随机排列产生装置,其中,随机排列产生装置通过硬件或软件实现。常规的随机排列产生装置可基于常规的随机排列产生方法(比如,Fisher和Yates方法等)产生随机排列。然而,难以通过硬件实现常规的随机排列产生方法。另外,如果常规的随机排列产生方法通过硬件实现,则硬件复杂度可能很高。
技术实现思路
示例性实施例的多个方面提供一种产生随机排列的方法,该方法能够具有低硬件复杂度,并且当基于二进制随机源产生随机排列时能够有效地使用二进制随机源。示例性实施例的多个方面还提供一种能够有效地使用二进制随机源的、具有低硬件复杂度的随机排列产生装置。示例性实施例的多个方面还提供一种具有所述随机排列产生装置的加密/解密装置。根据示例性实施例的一方面,提供一种产生随机排列的方法,该方法包括:将N个数的序列布置在矩阵中的步骤,其中,N为等于或大于2的整数;通过对所述矩阵的每行中的数执行第一随机布置操作来产生第一变化矩阵的步骤,其中,基于 ...
【技术保护点】
一种产生随机排列的方法,所述方法包括:将N个数的序列布置在矩阵中,其中,N为等于或大于2的整数;通过对所述矩阵的每行中的数执行第一随机布置操作来产生第一变化矩阵,其中,基于行随机数执行第一随机布置操作;通过对第一变化矩阵的每列中的数执行第二随机布置操作来产生第二变化矩阵,其中,基于列随机数执行第二随机布置操作;以及根据第二变化矩阵的行或列将布置在第二变化矩阵中的N个数作为所述N个数的序列的重排序列进行输出。
【技术特征摘要】
2012.04.02 KR 10-2012-00337971.一种用于加密和解密装置的产生随机排列的方法,所述方法包括:将N个数的序列布置在矩阵中,其中,N为等于或大于2的整数;通过对所述矩阵的每行中的数执行第一随机布置操作来产生第一变化矩阵,其中,基于行随机数执行第一随机布置操作;通过对第一变化矩阵的每列中的数执行第二随机布置操作来产生第二变化矩阵,其中,基于列随机数执行第二随机布置操作;以及根据第二变化矩阵的行或列将布置在第二变化矩阵中的N个数作为所述N个数的序列的重排序列进行输出,以用于加密和解密装置的加密和/或解密,其中,产生第一变化矩阵的步骤包括:通过将所述矩阵的每行的数布置在至少一行和至少一列中来产生多个行子矩阵;通过对所述多个行子矩阵中的每个的每行和每列中的数执行旋转操作来产生多个变化行子矩阵;将布置在所述多个变化行子矩阵中的每个中的数作为第一变化矩阵的每行进行输出,其中,所述N个数为加密和解密装置的秘钥、明文、对明文进行加密的过程中产生的中间数据、密文和对密文进行解密的过程中产生的中间数据中的至少一项,其中,行随机数和列随机数分别为加密和解密装置接收的作为二进制随机源的选择信号。2.根据权利要求1所述的方法,其中,所述N个数具有二进制形式。3.根据权利要求1所述的方法,其中,所述矩阵是方阵和长方阵之一。4.根据权利要求3所述的方法,其中,N为大于或等于4的整数,其中,产生第二变化矩阵的步骤包括:通过将第一变化矩阵的每列的数布置在至少一行和至少一列中来产生多个列子矩阵;通过对所述多个列子矩阵中的每个的每行和每列中的数执行旋转操作来产生多个变化列子矩阵;将布置在所述多个变化列子矩阵中的每个中的数作为第二变化矩阵的每列进行输出。5.一种用于加密和解密装置的产生随机排列的方法,所述方法包括:将N个数的序列布置在矩阵中,其中,N为等于或大于2的整数;通过对所述矩阵的每行中的数执行第一随机布置操作来产生第一变化矩阵,其中,基于第一行随机数执行第一随机布置操作;产生与第一变化矩阵的转置矩阵对应的第二变化矩阵;通过对第二变化矩阵的每行中的数执行第二随机布置操作来产生第三变化矩阵,其中,基于第二行随机数执行第二随机布置操作;产生与第三变化矩阵的转置矩阵对应的第四变化矩阵;以及根据第四变化矩阵的行或列将布置在第四变化矩阵中的N个数作为所述N个数的序列的重排序列进行输出,以用于加密和解密装置的加密和/或解密,其中,产生第一变化矩阵的步骤包括:通过将所述矩阵的每行的数布置在至少一行和至少一列中来产生多个第一子矩阵;通过对所述多个第一子矩阵中的每个的每行和每列中的数执行旋转操作来产生多个第一变化子矩阵;将布置在所述多个第一变化子矩阵中的每个中的数作为第一变化矩阵的每行进行输出,其中,所述N个数为加密和解密装置的秘钥、明文、对明文进行加密的过程中产生的中间数据、密文和对密文进行解密的过程中产生的中间数据中的至少一项,其中,第一行随机数和第二行随机数分别为加密和解密装置接收的作为二进制随机源的选择信号。6.根据权利要求5所述的方法,其中,所述矩阵是方阵和长方阵之一。7.根据权利要求6所述的方法,其中,N为大于或等于4的整数,其中,产生第三变化矩阵的步骤包括:通过将第二变化矩阵的每行的数布置在至少一行和至少一列中来产生多个第二子矩阵;通过对所述多个第二子矩阵中的每个的每行和每列中的数执行旋转操作来产生多个第二变化子矩阵;将布置在所述多个第二变化子矩阵中的每个中的数作为第三变化矩阵的每行进行输出。8.一种用于加密和解密装置的随机排列产生装置,包括:排列...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。