刚刚看到考题中有个这样的题,考到了列置换加密,记录一下自己的理解。

列置换加密,概念性的东西就不说了,网上都有,直接写我自己的理解,干货。

  1. 从明文 ———— 密文 (加密)

现有明文:computrnetworkprinciple
加密后密文为:cuerippnoriottknlmrwpce
密钥为字符串: code
过程:

第一步先把密钥转换为一个数字,这个数字是加密的关键,转换方法为,首先得到字母的个数,这里code为4,然后得到1至这个数的所有数,这里为1,2,3,4.。然后按26个字母的顺序来,越靠前的,数字越小,若位置相同,则靠左边的越小,所以字符串code就等于 1423. 因为c最靠前,d其次,e第三,最后才是o, 所以c代表1,o代表4,e代表3,d代表2,连起来即1423.

第二部,将明文转化为一个矩阵,矩阵的行元素个数为字母的个数,即为4,我们将明文转化后可得:
c o m p
u t r n
e t w o
r k p r
i n c i
p l e

按1423的索引顺序读取即可
先索引为1的列
cuerip
然后索引为4的列
pnori
然后2
ottknl
然后3
mrwpce

将上面的字符串连起来可得到密文。

如果是解密的话,则反着填写矩阵就可以得到明文了。

数据加密——列置换加密相关推荐

  1. 蓝桥 卷“兔”来袭编程竞赛专场-08列置换加密 题解

    赛题介绍 挑战介绍 列置换加密是明文以每行固定字数(key 的字母种类数,一般情况下 key 会选择字母不重复的单词)一行一行写下,如果最后一行字数小于每行的固定字数,则使用特殊符号补充,这样就形成了 ...

  2. Oracle 透明数据加密--列加密

    我们所需要做的就是把某列声明成加密的,剩下的全部由Oracle完成.当用户插入或者更新数据时,列值会被截获.加密,然后用加密后的格式保存.然后,当这一列被查询时,又会自动对列值进行解密,然后把解密后的 ...

  3. c++、python实现置换密码(栅栏技术,列置换)、替代密码(加法密码(Caesar密码),乘法密码)

    置换密码 代码如下: #置换密码 a = input('请输入明文:') print("逆序后的密文为:",a[::-1]) 结果如图: 代码如下: #栅栏技术(栏数为7) a = ...

  4. JAVA实现置换加密和幻方加密(密码学)

    一.实验目的 帮助学生掌握置换密码的加密解密过程,能够利用所学过的编程语言,熟悉加密算法流程与编程实现加密算法.使学生掌握编程实现实际问题中的方法,提高专业技能和专业素养. 要求学生掌握算法的程序实现 ...

  5. 透明加密支持linux吗,IP-guard文档透明加密软件|文档防泄密|数据加密|Linux系统加密|Mac苹果系统文档加密...

    IP-guard文档透明加密软件|文档防泄密|数据加密|Linux系统加密|Mac苹果系统文档加密 发布日期:2018-06-02 IP-guard全向文档加密,采用高强度的加密算法,将各种格式的电子 ...

  6. 数据加密之MD5加密

    MD5是一个安全的散列算法,有两个特点: 1.输入两个不同的明文(一段原始的数字信息)不会得到相同的输出值 2.根据输出值,不能得到原始的明文,即过程不可逆 所以要解密MD5没有现成的算法,只能用穷举 ...

  7. 数据加密 RSA非对称加密篇

    先把代码贴上来,理论后续补充,暂时可先参考数据加密 总篇 package com.jlpay.partner.utils;import android.util.Base64;import java. ...

  8. 数据加密——凯撒加密

    原理性的东西,将自己的理解记录一下. 凯撒加密,是一种数据加密方式,原理十分简单,就是在指定字符集之内进行字符的平移,平移位数为n位,n为指定的密钥.如,取字符集为26个小写字母,密钥定为3,则此时的 ...

  9. 数据加密_2021年数据加密的六大趋势

    点击蓝字关注我们 2020年是网络安全技术"变革"的一年,是应对新挑战和概念落地的一年.但是在最为关键的数据安全领域,加密技术相对稳定.到2021年,加密技术有望迎来重大变革,以下 ...

最新文章

  1. mSystems:生物地球化学进入病毒时代-采用多样的方法研究病毒和生物地球化学循环...
  2. K8s deployments的故障排查可视化指南
  3. 图片html代码查看器,360度全景商品图片查看器
  4. 通过Ajax异步请求数据
  5. iosxib 设置图片_iOS framework制作及使用(包含xib和图片)
  6. VB6监视/操作剪贴板示例(VB6.0代码)
  7. WinForm 界面美化
  8. 写Java要用什么编译器最好?
  9. 雨林木风YN9.9三分极速速终结版 http://www.51ylmf.cn
  10. 原生html+css+js制作宠物小精灵icon
  11. (Note)航世BOW G19键盘 —— 使用说明书
  12. 远程访问计算机硬盘,60秒远程访问路由器硬盘!瞬间变NAS!
  13. oracle数据透明加密,oracle数据透明加密-TDE
  14. SAP中总账科目行项目不显示的处理方法
  15. 戴尔笔记本电脑XPS15-9560混盘更换成SM961与SATA3固盘的步骤和方法
  16. 不会汇报工作,还敢拼职场
  17. VMware使用OVFTool导出Esxi 6.7.0版本中的虚拟机
  18. Keil 5(MDK 5)中的 Pack Installer下载不了库文件包的解决替代方法(在Keil官网下载Packs库文件)
  19. Akka(6): become/unbecome:运算行为切换
  20. 【Opencv】Python+openCV实现全景图拼接(左右两张图片拼接成一张全景图)

热门文章

  1. 树形表实现 bootstrap-table + treegrid
  2. isNaN()和isFinite()的应用
  3. NFC应用(一)卡应用
  4. CentOS7 开启 BBR 加速
  5. 个人网站个人主页的建立
  6. 大屏互动-大屏交互-大屏投影技术解决方案
  7. 系统学习深度学习(四) --CNN原理,推导及实现源码分析
  8. 2023计算机毕业设计SSM最新选题之java儿童成长记录与分享系统cc35g
  9. GitHub上最励志的计算机自学教程(重制版)
  10. [VMWare]vmx86版本不对