精华内容
下载资源
问答
  • 有关全同态加密的提问——密文检索
    2019-11-04 20:05:27

    接触全同态加密不久,看不懂HElib里面源代码,球球好心人指点一下~ HElib-master/src下面的Test_tableLookup.cpp是检索密文表的代码吧?怎么检索的呢?到底在什么样的表里检索到了什么啊???(学电子信息的现在做毕设需要用到全同态加密,感觉真的好复杂啊!哭晕……)

    更多相关内容
  • CTF_crypto常见加密密文特征

    千次阅读 2020-02-24 17:55:20
    我们在刚开始做CTF的crypto的题目时,常会不知道给出的加密后的字符串那种加密方式加密的,因此无法做题,会一个一个的去试,因此这篇文章总结一些常见的加密字符串的特征,供大家查阅。 Jother编码 它是一种运用于...

    转自个人博客:0pt1mus
    我们在刚开始做CTF的crypto的题目时,常会不知道给出的加密后的字符串那种加密方式加密的,因此无法做题,会一个一个的去试,因此这篇文章总结一些常见的加密字符串的特征,供大家查阅。

    Jother编码

    它是一种运用于Javascript语言中利用少量字符构造精简的匿名函数方法对于字符串进行的编码方式,其中少量字符包括"[","]","{","}","(",")","!","+"。

    例子:

    [][(![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+({}[[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+({}[[]]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+({}[[]]+[])[+[]]+(!![]+[])[+!![]]+({}[[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+({}[[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+({}[[]]+[])[+!![]])()
    

    这种题目通常直接将内荣复制到浏览器的console中运行即可得到flag。

    ASCII编码

    常是用字符所对应的ASCII编码的十进制表示字符,若遇到连续的一堆分割的10进制数不妨通过脚本将十进制对应的字符表示出来。

    例子

    84 104 101 32 113 117 105 99 107 32 98
    114 111 119 110 32 102 111 120 32 106 117 109 112 115 32 111 118 101 114 32 116
    104 101 32 108 97 122 121 32 100 111 103
    

    解密脚本

    o_str = '84 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 102 111 120 32 106 117 109 112 115 32 111 118 101 114 32 116 104 101 32 108 97 122 121 32 100 111 103'
    o_str = o_str.split(' ')
    d_str = ''
    for i in o_str:
        d_str += chr(int(i))
    
    
    print(d_str)
    
    

    Base32/64/58编码

    base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。
    base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。
    base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’

    base系列的编码,通常特征值都是在一堆大小写字母和数字后加1-2个等号,若无等号,只存在字母和数字,也可能是base编码,通常是base64。

    例子:

    原文:you are so handsome
    base64编码:eW91IGFyZSBzbyBoYW5kc29tZQ==
    

    rot5/13/18/47

    ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,
    ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,
    ROT18:这是一个异类,本来没有,它是将ROT5和ROT13组合在一起,将其命名为ROT18。
    ROT47:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,用于ROT47编码的字符其ASCII值范围是33-126。

    UUencode/XXencode

    这两种编码和base64都比较相似。

    UUencode

    原文:you are so handsome
    UUencode编码:3>6]U(&%R92!S;R!H86YD<V]M90``
    

    特征:有很多的特殊字符看见。

    XXencode

    原文:you are so handsome
    XXencode编码:HSKxp643mNG-nPm-cMKtYQqxhNE++
    

    特征:同base64特别相近。

    栅栏密码

    通常这种题目会在题目描述的时候提示你是栅栏加密的。当提示我们是栅栏后,我们可以在在线的解密网站一个一个的尝试,然后其中有意义的一组就是我们的flag。

    例子

    密文:felhaagv{ewtehtehfilnakgw}
    当每组字数为2时,解出:flag{wethinkwehavetheflag}
    

    MD5加密

    这种题目也是,题目描述中会给出,然后直接在线网站破解就行。

    URL编码

    URL编码后的格式是%xx,是该字符对应的ascii码的十六进制表示的前面加%。例如:

    %54%68%65%20%71%75%69%63%6b%20%62%72%6f%77%6e%20%66%6f%78%20%6a%75%6d%70%73%20%6f%76%65%72%20%74%68%65%20%6c%61%7a%79%20%64%6f%67
    

    摩尔斯电码

    摩尔斯电码主要是由. - 组成,每一个字符之间通常用空格来表示,如

    .-.- ... .- ..- -.- -. . --. -.-- -. . -- ... .- --- ..--.. --.- -.-- -. ..- ...--- -.... .- ---. -.... ----- -.... .--- -.-- ---.. .
    . ---.. ----- ----- ----. ..- ---..
    

    通常还可能用A代替.,用B代替-

    这种也是直接在网上找在线的破解工具就可以。

    凯撒密码

    凯撒密码是一种古典加密方式,是替换加密,通常明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

    这种题目,一般题目中也是有提示的,告诉你加密方式和偏移量,然后写脚本得到flag就好。

    与佛论禅

    特征:

    佛曰:謹蘇那梵即俱薩怯密摩梵耶瑟帝奢諦侄即離盡諳豆栗諳佛實俱老訶漫得曳羯皤曳缽是梵菩提明怯盧切佛舍心怯世怯怛皤世智呐礙盡咒缽有蒙奢耨苦他奢槃密娑耶梵麼奢般者故皤能俱怖呼梵娑多都滅世缽提亦
    

    遇到这样的,直接在线解密去吧。

    培根加密

    看到一串的A和B,并且五个一组,那么就是培根加密,直接在线解密。

    在线加解密网站

    最后,粘一些在线加解密的网站。

    培根
    与佛论禅
    在线加密解密(多种)
    栅栏密码 && 凯撒密码 && 摩斯电码
    ROT5/13/18/47编码转换

    展开全文
  • 加密密文粗略判断.md

    2020-05-11 16:02:56
    几个常见的加密解密算法总结,自己在学这个的时候,弄不清楚一串密文是什么样的方式进行加密的,所以就整理了一下,希望对别人有帮助。
  • 作为解决云环境中多公钥加密计算问题的重要方法之一,密文等值测试技术可以实现对不同公钥加密的数据进行比较,使测试者在不对密文进行解密的前提下判断密文对应的明文是否相同。首先介绍了密文等值测试概念及其安全...
  • 本文实例为大家分享了python实现对输入的密文加密的具体代码,供大家参考,具体内容如下 遇到这样一道题目,是要求把输入的明文进行加密,加密的方法是按照...功能:加密密文 ''' def jiami(): map_dict={'1':1,'abc'
  • 在研究现有加密算法识别方案局限性的基础上,提出了基于密文随机性度量值分布特征的分组密码算法识别方案。首先,基于码元频数检测、块内频数检测及游程检测对AES、Camellia、DES、3DES及SMS4密文的随机性度量值取值...
  • 30余种加密编码类型的密文特征分析(建议收藏)

    万次阅读 多人点赞 2020-11-11 18:53:01
    md5的三个特征: 确定性:一个原始数据的MD5值是唯一的,同一个原始数据不可能会计算出多个不同的MD5值。 碰撞性:原始数据与其MD5值并不是一一对应的,有可能多个原始数据计算出来的MD5值是一样的,这就是碰撞。 ...

    声明:本文只收集了30余种加密编码类型,关于他们的介绍来源于网络,重点讲的是他们的密文特征,还有很多类型没有讲到,后续等我研究明白了再发,转载请注明来源,感谢支持

    MD5、sha1、HMAC算法、NTLM等相似加密类型

    1、MD5——示例21232F297A57A5A743894A0E4A801FC3

    一般MD5值是32位由数字“0-9”和字母“a-f”所组成的字符串,如图。如果出现这个范围以外的字符说明这可能是个错误的md5值,就没必要再拿去解密了。16位值是取的是8~24位。
    在这里插入图片描述
    md5的三个特征:

    1. 确定性:一个原始数据的MD5值是唯一的,同一个原始数据不可能会计算出多个不同的MD5值。
    2. 碰撞性:原始数据与其MD5值并不是一一对应的,有可能多个原始数据计算出来的MD5值是一样的,这就是碰撞。
    3. 不可逆:也就是说如果告诉你一个MD5值,你是无法通过它还原出它的原始数据的,这不是你的技术不够牛,这是由它的算法所决定的。因为根据第4点,一个给定的MD5值是可能对应多个原始数据的,并且理论上讲是可以对应无限多个原始数据,所有无法确定到底是由哪个原始数据产生的。

    2、sha1——示例d033e22ae348aeb5660fc2140aec35850c4da997

    这种加密的密文特征跟MD5差不多,只不过位数是40
    在这里插入图片描述

    3、HMAC算法——示例5b696ae7da9442ead7adc24d03cedb65

    HMAC (Hash-based Message Authentication Code) 常用于接口签名验证,这种算法就是在前两种加密的基础上引入了秘钥,而秘钥又只有传输双方才知道,所以基本上是破解不了的
    在这里插入图片描述

    3、NTLM——示例209c6174da490caeb422f3fa5a7ae634

    这种加密是Windows的哈希密码,是 Windows NT 早期版本的标准安全协议。与它相同的还有Domain Cached Credentials(域哈希)。
    在这里插入图片描述

    在这里插入图片描述

    相似加密类型

    #算法长度
    1md532/16
    2sha140
    3sha25664
    4sha512128
    5adler328
    6crc328
    7crc32b8
    8fnv1328
    9fnv16416
    10fnv1a328
    11fnv1a6416
    12gost64
    13gost-crypto64
    14haval128,332
    15haval128,432
    16haval128,532
    17haval160,340
    18haval160,440
    19haval160,540
    20haval192,348
    21haval192,448
    22haval192,548
    23haval224,356
    24haval224,456
    25haval224,556
    26haval256,364
    27haval256,464
    28haval256,564
    29joaat8
    30md232
    31md432
    32ripemd12832
    33ripemd16040
    34ripemd25664
    35ripemd32080
    36sha22456
    37sha3-22456
    38sha3-25664
    39sha3-38496
    40sha3-512128
    41sha38496
    42sha512/22456
    43sha512/25664
    44snefru64
    45snefru25664
    46tiger128,332
    47tiger128,432
    48tiger160,340
    49tiger160,440
    50tiger192,348
    51tiger192,448
    52whirlpool128
    53mysql老MYSQL数据库用的,16位,且第1位和第7位必须为0-8
    54mysql540
    55NTLM32
    56Domain Cached Credentials32

    常用解密网站:

    Base64、Base58、Base32、Base16、Base85、Base100等相似加密类型

    1、Base64——示例YWRtaW4tcm9vdA==

    一般情况下密文尾部都会有两个等号,明文很少的时候则没有

    Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’,如图。
    在这里插入图片描述

    为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

    Base64编码表

    码值字符码值字符码值字符码值字符码值字符码值字符码值字符码值字符
    0A8I16Q24Y32g40o48w564
    1B9J17R25Z33h41p49x575
    2C10K18S26a34i42q50y586
    3D11L19T27b35j43r51z597
    4E12M20U28c36k44s520608
    5F13N21V29d37l45t531619
    6G14O22W30e38m46u54262+
    7H15P23X31f39n47v55363/

    Base64使用注意问题

    一、Base64和URL传参问题

    标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

    为解决此问题,可采用一种用于URL的改进Base64编码,它在末尾填充’='号,并将标准Base64中的“+”和“/”分别改成了“-”和“_”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。

    二、Base64和URL传参问题改善

    另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”以及前面在IRCu中用到的“[”和“]”在正则表达式中都可能具有特殊含义。

    此外还有一些变种,它们将“+/”改为“-”或“.”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。

    三、Base64转换后比原有的字符串长1/3

    Base64要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。

    四、Base64转换总结

    Base64转换,最好是不要用在加密上,尤其是参数加密,很容易出问题。

    2、Base58——示例6tmHCZvhgfNjQu

    它最大的特点是没有等号

    Base58是用于比特币(Bitcoin)中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。

    相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。

    比特币的Base58字母表:

    123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

    简单的说:Base58一种编码方式,跟十进制,十六进制一样,不过更短更省空间。

    Base58的原理是什么?

    二进制:0和1

    十进制:1到10

    十六进制:十进制的基础上加上了A-F 六个字母

    Base58可以理解为一种58进制。

    Base58包含了阿拉伯数字、小写英文字母,大写英文字母。

    但是去掉了一些容易混淆的数字和字母:0(数字0)、O(o的大写字母)、l( L的小写字母)、I(i的大写字母)

    在这里插入图片描述

    3、Base32——示例GEZDGNBVGY3TQOJQGE======

    他的特点是明文超过十个后面就会有很多等号

    Base32使用了ASCII编码中可打印的32个字符(大写字母AZ和数字27)对任意字节数据进行编码.Base32将串起来的二进制数据按照5个二进制位分为一组,由于传输数据的单位是字节(即8个二进制位).所以分割之前的二进制位数是40的倍数(40是5和8的最小公倍数).如果不足40位,则在编码后数据补充"=",一个"="相当于一个组(5个二进制位),编码后的数据是原先的8/5倍.
    Base32编码表

    符号符号符号符号
    0A8I16Q24Y
    1B9J17R25Z
    2C10K18S262
    3D11L19T273
    4E12M20U284
    5F13N21V295
    6G14O22W306
    7H15P23X317
    填充=

    Base32将任意字符串按照字节进行切分,并将每个字节对应的二进制值(不足8比特高位补0)串联起来,按照5比特一组进行切分,并将每组二进制值转换成十进制来对应32个可打印字符中的一个。
    在这里插入图片描述
    由于数据的二进制传输是按照8比特一组进行(即一个字节),因此Base32按5比特切分的二进制数据必须是40比特的倍数(5和8的最小公倍数)。例如输入单字节字符“%”,它对应的二进制值是“100101”,前面补两个0变成“00100101”(二进制值不足8比特的都要在高位加0直到8比特),从左侧开始按照5比特切分成两组:“00100”和“101”,后一组不足5比特,则在末尾填充0直到5比特,变成“00100”和“10100”,这两组二进制数分别转换成十进制数,通过上述表格即可找到其对应的可打印字符“E”和“U”,但是这里只用到两组共10比特,还差30比特达到40比特,按照5比特一组还需6组,则在末尾填充6个“=”。填充“=”符号的作用是方便一些程序的标准化运行,大多数情况下不添加也无关紧要,而且,在URL中使用时必须去掉“=”符号。

    与Base64相比,Base32具有许多优点:

    • 适合不区分大小写的文件系统,更利于人类口语交流或记忆。
    • 结果可以用作文件名,因为它不包含路径分隔符 “/”等符号。
    • 排除了视觉上容易混淆的字符,因此可以准确的人工录入。(例如,RFC4648符号集忽略了数字“1”、“8”和“0”,因为它们可能与字母“I”,“B”和“O”混淆)。
    • 排除填充符号“=”的结果可以包含在URL中,而不编码任何字符。

    Base32也比Base16有优势:

    • Base32比Base16占用的空间更小。(1000比特数据Base32需要200个字符,而Base16则为250个字符)

    Base32的缺点:

    • Base32比Base64多占用大约20%的空间。因为Base32使用8个ASCII字符去编码原数据中的5个字节数据,而Base64是使用4个ASCII字符去编码原数据中的3个字节数据。

    4、Base16——示例61646D696E

    它的特点是没有等号并且数字要多于字母

    Base16编码的方式:

    1.将数据(根据ASCII编码,UTF-8编码等)转成对应的二进制数,不足8比特位高位补0。然后将所有的二进制全部串起来,4个二进制位为一组,转化成对应十进制数。

    2.根据十进制数值找到Base16编码表里面对应的字符。Base16是4个比特位表示一个字符,所以原始是1个字节(8个比特位)刚好可以分成两组,也就是说原先如果使用ASCII编码后的一个字符,现在转化成两个字符。数据量是原先的2倍。

    编码编码
    0088
    1199
    2210A
    3311B
    4412C
    5513D
    6614E
    7715F

    Base16编码是一个标准的十六进制字符串(注意是字符串而不是数值),更易被人类和计算机使用,因为它并不包含任何控制字符,以及Base64和Base32中的“=”符号。

    在这里插入图片描述

    5、Base85——示例@:X4hDWe0rkE(G[OdP4CT]N#

    特点是奇怪的字符比较多,但是很难出现等号
    在这里插入图片描述

    6、Base100——示例👘👛👤👠👥

    特点就是一堆Emoji表情

    Base100编码/解码工具(又名:Emoji表情符号编码/解码),可将文本内容编码为Emoji表情符号;同时也可以将编码后的Emoji表情符号内容解码为文本。

    在这里插入图片描述

    常用解密网站:

    Base64:

    Base58:www.metools.info
    Base32、16:www.qqxiuzi.cn
    Base100:www.atoolbox.net

    AES、DES、RC4、Rabbit、Triple DES(3DES)

    这些算法都可以引入密钥,密文特征与Base64类似,明显区别是秘文里+比较多,并且经常出现/

    在这里插入图片描述

    常用解密网站:

    Unicode、HTML实体编码、16进制Unicode

    1、Unicode——汉字示例&#36825;、字母示例&#116;、数字符号示例&#53;

    可以说Unicode与HTML实体编码是一个东西

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
    在这里插入图片描述

    2、HTML实体编码——示例与Unicode相同

    字符实体是用一个编号写入HTML代码中来代替一个字符,在使用浏览器访问网页时会将这个编号解析还原为字符以供阅读。

    这么做的目的主要有两个:
    1、解决HTML代码编写中的一些问题。例如需要在网页上显示小于号(<)和大于号(>),由于它们是HTML的预留标签,可能会被误解析。这时就需要将小于号和大于号写成字符实体:
    小于号这样写:< 或 <
    大于号这样写:> 或 >
    前面的写法称为实体名称,后面的写法则是实体编号。ISO-8859-1字符集(西欧语言)中两百多个字符设定了实体名称,而对于其它所有字符都可以用实体编号来代替。
    2、网页编码采用了特定语言的编码,却需要显示来自其它语言的字符。例如,网页编码采用了西欧语言ISO-8859-1,却要在网页中显示中文,这时必须将中文字符以实体形式写入HTML代码中。
    在这里插入图片描述

    2、16进制Unicode——示例\u8fd9\u662f\u4e00

    在这里插入图片描述

    常用解密网站:

    Escape编码/加密、Unescape解码/解密、%u编码、%u解码

    特征:以%u开头

    Escape/Unescape加密解码/编码解码,又叫%u编码,从以往经验看编码字符串出现有"u",它是unicode编码,那么Escape编码采用是那一种unicode实现形式呢。其实是UTF-16BE模式。这样一来问题非常简单了。 Escape编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u。Unescape解码/解密,就是去掉"%u"后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”,反之也一样!因为目前%字符,常用作URL编码,所以%u这样编码已经逐渐被废弃了!

    基本类型只对汉字进行编码,复杂类型是所有字符均可
    在这里插入图片描述

    常用解密网站:

    http://web.chacuo.net/charsetescape/

    URL、Hex编码

    这两种加密的密文是一样的,不同的是当你用url编码网站时是不会把http进行编码的,而Hex编码则全部转化了

    encodeURIComponent() 函数 与 encodeURI() 函数的区别
    请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    常用解密网站:

    Hex编码:https://www.107000.com/T-Hex
    URL 编码:https://www.sojson.com/encodeurl.html

    凯撒密码、维吉尼亚密码、栅栏密码基础型、栅栏密码W型

    这几类密码原理都是移位调换加密,破解难度低

    1、凯撒密码——示例iodj{khoor_zrug_123}

    只对字母进行加密,常用于CTF比赛中

    凯撒密码最早由古罗马军事统帅盖乌斯·尤利乌斯·凯撒在军队中用来传递加密信息,故称凯撒密码。此为一种位移加密手段,只对26个(大小写)字母进行位移加密,规则相当简单,容易被破解。下面是明文字母表移回3位的对比:
    明文字母表 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
    密文字母表 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    然后A变成D,B变成E,Z变成C。
    字母最多可移动25位(按字母表)。通常为向后移动,如果您想向前移动1位,则相当于向后移动25位,位移选择为25位。
    在这里插入图片描述

    2、维吉尼亚密码——示例fmcg{iglmq_wptd_123}

    可以说是凯撒密码的加强版,引入了密钥

    维吉尼亚密码,它将凯撒密码的所有26种排列放到一个表中,形成26行26列的加密字母表。此外,维吉尼亚密码必须有一个由字母组成的密钥,至少有一个字母,最多与明文字母有相同数量的字母。
    在凯撒密码中,每个字母都会进行一定偏移值转换,例如,当偏移值是3时,则B被转换为E,C转换成F…。在维吉尼亚密码加密中,则是由具有不同偏移的凯撒密码构成的。
    要生成密码,需要使用表格方法,此表(如图所示)包含26行字母表,每一行从上一行到左行被一位偏移。加密时使用哪一行字母表是基于密钥的,在加密过程中密钥会不断变化。
    例如,假设明文为:
    BTTACKATDAFG
    选择一个关键字并重复它以获得密钥,例如,当关键字是LIMN时,键是:
    LIMNLIMNLIMN
    在明文中的第一个字母B,对应于密钥中的第一个字母L,使用加密字母表中的L行字母进行加密,得到第一个字母的密文M。同样,第二个明文字母是T,它用表中的I行加密,得到第二个密文B。通过类比,我们可以得到:
    明文:BTTACKATDAFG 键:LIMNLIMNLIMN 密文:MBFNNSMGOIRT
    解密的过程是加密的逆过程。例如,密钥的第一个字母对应的L行字母表,发现密文的第一个字母M位于B列,因此明文的第一个字母是B。密钥的第二个字母对应于I行字母表,而密文的第二个字母B位于该行的T列中,因此明文的第二个字母是T。等等,你可以得到明文。
    img
    在这里插入图片描述

    3、栅栏密码基础型

    栅栏密码是按一定规则将明文内容互相调换了位置

    栅栏密码(Rail fence Cipher)基础型加密方式,是一种简单的移动字符位置的加密方法,首先把加密的明文分成N个一组,然后把每组的第1、第2、第M个字符连起来,形成无规律的密文字符串。

    例如字符串“123456789abc”,首先将字符串分成3组,如下排列:
    1234
    5678
    9abc
    依次取每一组字符,组成加密后密文:“15926a37b48c”。

    在这里插入图片描述

    4、栅栏密码W型

    栅栏密码W型加密算法:
    栅栏密码(Rail fence Cipher),扩展变种W型,采用先把明文类似"W"形状进行排列,然后再按栏目顺序1-N,取每一栏的所有字符值,组成加密后密文。
    比如字符串“123456789”,采用栏目数为3的时,明文将采用如下排列:
    1—5---9
    -2-4-6-8-
    –3----7–
    取每一栏所有字符串,组成加密后密文:“159246837”。
    W型栅栏密码加密方式,比传统型栅栏密码加密方法,算法略有增强,但目前已只能用于学习算法验证。
    在这里插入图片描述

    常用解密网站:

    常用解密网站:

    文本隐藏加密、零宽隐写

    1、文本隐藏加密

    特征:加密过的密文会比原文的字节数多,当你按删除键的时候会发现某一处要按好多下才能把前面的字删掉

    原理**:它的原理是在密文中加入了不可见字符组成的编码,例如上述看似九个字符的一句话,通过字数查询可知它实际上有87个字符,多出的字符是由零宽空格实现的编码,因为零宽空格不占据空间,所以看不出它的存在。

    使用:在进行文本隐藏加密时,将需要隐藏的文字写在括号中,就像这样“你好(有才华),我好喜欢你(画的画)!”,然后加密即可隐藏括号内的文字。同时可以设定一个密码,这样只有知道密码的人才能解密隐藏的文字。密码可以是数字、字母和下划线,最多九位。

    在这里插入图片描述

    这是加密后的字节数
    在这里插入图片描述
    这是本来的字节数
    在这里插入图片描述

    2、零宽隐写

    特征:解密后明文与密文会分开显示,密文一般隐藏在第一个字后面,不信你试试,保证你十下之内删不完

    与上面文本隐藏加密的原理一样,但过程不一样
    在这里插入图片描述
    这里加密过的密文在文本隐藏加密中解不出来
    在这里插入图片描述

    常用解密网站:

    文本隐藏加密:www.qqxiuzi.cn
    零宽隐写:yuanfux.github.io

    特殊暗号类加密

    这类加密都是特征性比较强的,易辨别

    1、猪圈密码

    特点:只能对字母加解密并且符号无法复制,粘贴后会直接显示明文

    猪圈密码(亦称朱高密码、共济会暗号、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码,曾经是美国内战时盟军使用的密码,目前仅在密码教学、各种竞赛中使用。
    在这里插入图片描述

    常用解密网站:

    http://www.metools.info/code/c90.html

    2、与佛论禅

    特点:就是你看不懂的佛语

    在这里插入图片描述

    常用解密网站:

    http://www.keyfc.net/bbs/tools/tudoucode.aspx

    3、百家姓暗号

    特征:不要多说当你看到一串百家姓的时候多半就是这个暗号了
    在这里插入图片描述
    当他解密的的时候前面会多一串固定字符
    在这里插入图片描述

    常用解密网站:

    4、卡尔达诺栅格码

    特征:把明文伪装成垃圾邮件,看着这么多内容,其实我只是加密了admin

    在这里插入图片描述

    常用解密网站:

    https://www.spammimic.com/

    5、莫尔斯电码

    特征:密文由不规律的./-组成

    • 摩尔斯电码(Morse alphabet)(又译为摩斯电码)是一种时通时断的信号代码,这种信号代码通过不同的排列顺序来表达不同的英文字母、数字和标点符号等。
    • 由美国人摩尔斯(Samuel Finley Breese Morse)于1837年发明,为摩尔斯电报机的发明(1835年)提供了条件。
    • 摩尔密码加密的字符只有字符,数字,标点,不区分大小写,支持中文汉字
    • 中文摩斯加密解密:本工具摩尔密码加密是互联网上唯一一个可以对中文进行摩斯编码的工具。

    莫尔斯电码加密列表 | Morse Code List

    一、26个字母的莫尔斯电码加密
    字符电码符号字符电码符号字符电码符号字符电码符号
    A.━B━ ...C━ .━ .D━ ..
    EF..━ .G━ ━ .H....
    I..J.━ ━ ━K━ .━L.━ ..
    M━ ━N━ .O━ ━ ━P.━ ━ .
    Q━ ━ .━R.━ .S...T
    U..━V...━W.━ ━X━ ..━
    Y━ .━ ━Z━ ━ ..
    二、数字的莫尔斯电码加密
    字符电码符号字符电码符号字符电码符号字符电码符号
    0━ ━ ━ ━ ━1.━ ━ ━ ━2..━ ━ ━3...━ ━
    4....━5.....6━ ....7━ ━ ...
    8━ ━ ━ ..9━ ━ ━ ━ .
    三、标点符号的莫尔斯电码加密
    字符电码符号字符电码符号字符电码符号字符电码符号
    ..━ .━ .━:━ ━ ━ ...,━ ━ ..━ ━;━ .━ .━ .
    ?..━ ━ ..=━ ...━.━ ━ ━ ━ ./━ ..━ .
    !━ .━ .━ ━━ ....━_..━ ━ .━".━ ..━ .
    (━ .━ ━ .)━ .━ ━ .━$...━ ..━&. ...
    @.━ ━ .━ .

    在这里插入图片描述

    常用解密网站:

    https://www.atool99.com/morse.php

    6、Quoted-Printable

    这种编码常用与邮件处理,只能对汉字进行编码,特征是=加两个大写字母或数字组合
    在这里插入图片描述

    常用解密网站:

    7、ROT13

    特征:它与凯撒密码差不多都是字母替换,你看到一句特别奇怪的语句可能就是它编码的

    ROT13(回转13位,Template:lang,有时中间加了个减号称作ROT-13)是一种简易的置换暗码。它是一种在网路论坛用作隐藏八卦(spoiler)、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。 ROT13被描述成「杂志字谜上下颠倒解答的Usenet对等体」(Usenet equivalent of a magazine printing the answer to a quiz upside down.)Template:cite web ROT13也是过去在古罗马开发的凯撒加密的一种变体。
    在这里插入图片描述
    在这里插入图片描述

    常用解密网站:

    http://www.mxcz.net/tools/rot13.aspx

    8、文本加密为汉字

    特征:将明文加密成各种繁体字后面带俩等号
    在这里插入图片描述
    它不仅可以加密成汉字,还可以加密成以下几种类型
    在这里插入图片描述
    比如这样:
    在这里插入图片描述
    这样:
    在这里插入图片描述

    常用解密网站:

    https://www.qqxiuzi.cn/bianma/wenbenjiami.php

    js专用加密

    1、颜文字js加密

    特征:一堆颜文字构成的js代码,在F12中可直接解密执行
    在这里插入图片描述

    常用解密网站:

    https://utf-8.jp/public/aaencode.html

    2、jother编码

    特征:只用! + ( ) [ ] { }这八个字符就能完成对任意字符串的编码。也可在F12中解密执行
    在这里插入图片描述

    常用解密网站:

    http://tmxk.org/jother/

    3、JSFuck编码

    特征:与jother很像,只是少了{ }
    在这里插入图片描述

    常用解密网站:

    http://www.jsfuck.com/

    欢迎关注公众号爱国小白帽,原创不易,转载请注明来源哦😘

    在这里插入图片描述

    展开全文
  • cpabe JAVA代码,Java Pairing Based Cryptography Library(jPBC) 1.2.1
  • 基于同态加密的检索方法,适合于同态加密研究者
  • 下面小编就为大家分享一篇基于PHP RSA密文过长加密解密 越过1024的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • RSA非对称 C#解密、js加密实现登陆密文,传输RSA非对称 C#解密、js加密实现登陆密文传输,RSA非对称 C#解密、js加密实现登陆密文传输
  • DES加解密源码 C# 加密明文16位,加密密文16位,输入密钥16位,可解密
  • 主要介绍了NodeJS实现不可逆加密与密码密文保存的方法,简单讲述了不可逆加密与密码密文保存的原理并结合实例形式分析了nodejs相关加密操作实现技巧,需要的朋友可以参考下
  • 计算MD5密文的小软件,支持字符串的MD5加密 和 文件的MD5加密,文件加密的速度还是蛮快的。
  • #资源达人分享计划#
  • 针对这一问题,设计了一个标准模型下选择密文安全的基于身份的加密扩展方案。该扩展方案基于Waters的方案,其密文中增加一个附加信息,而扩展方案是选择密文安全的,所以解决了Waters方案仅达到选择明文安全的问题。在...
  • 提出一种基于曲线插值的数据库加密密文检索模型,该模型通过可扩展标记语言( XML)节点的隐藏机制 控制加密粒度,利用曲线插值变换改变数据库密文分布,可有效地抵御各类针对数据库的攻击。在此基础上建立了 XQuery...
  • 加密密文粗略判断

    2020-05-11 16:03:09
    加密密文粗略判断 1、ASCII编码: 密文是十进制,字符范围是“0-9”。(当然也有可能是8或16进制的ASCII) 【纯数字】 2、Base64编码: 【密文由**字母大小写、数字和“=”**构成,特别是末尾有“=”。】 3、Base32...

    加密密文粗略判断

    1、ASCII编码:
    密文是十进制,字符范围是“0-9”。(当然也有可能是8或16进制的ASCII)
    【纯数字】

    2、Base64编码:
    【密文由**字母大小写、数字和“=”**构成,特别是末尾有“=”。】

    3、Base32编码:
    【密文由**字母大小写、数字和“=”**构成,特别是末尾有“=”。】和base64差不多,根据原理,base32编码比base64编码长度更长。两种都可以试一下。

    4、Escape()编码:
    如果密文有“%”,形式为“%xx”和“%uxxxx”,字符范围又是十六进制的“0-F”。

    5、Jother解码:
    如果密文由“[],(),{},+,!”字符组成的编码通常就是通过Jother解码。

    6、栅栏密码:
    密文直接包含了明文中的所有字符,只是顺序被打乱,包含flag格式中的{},则考虑栅栏密码解密:

    7、培根密码:
    如果密文仅有a、b两种字符,则考虑培根密码。

    8.url编码
    【一般是%后面有两个字符,字母或者数字】%E9

    9.md5编码
    【一般为16位或32位大小写字母数字混合字符串】

    10.HEX编码
    【密文开头是0xk 后边是一串数字。】
    密码样式:0x68656c6c6f

    先说这么多吧,实在是水平有限。【说多了都是泪】
    推荐两个别人关于加密解密的博客吧:
    1.https://blog.csdn.net/nineqblot/article/details/91994497 点击
    2.https://cloud.tencent.com/developer/news/175943 点击

    展开全文
  • 云存储环境中,用户将数据加密后上传至云服务器,密文检索技术能够对密文进行检索并将满足条件的数据返回给用户,用户将密文解密后得到结果。 基于全文扫描的关键词搜索方案 数据拥有者通过SetUp算法生成密钥k′和k...
  • dede后台加密密文

    2013-05-18 16:25:23
    dede后台加密密文 适合对dede后台密码忘记 可通过phpmyadmin来重置
  • 针对现有方案存在的访问策略公开、密文...此外,方案实现了固定密文长度,并且加密时的指数运算和解密时的双线性对运算次数均是固定值。理论分析和实验结果表明该方案在密文长度和加/解密时间上都明显优于对比方案。
  • 基于同态加密的高效密文检索技术 基于全同态加密的全新安全检索协议,将乘法操作数量首次降低到O(n)的复杂度。新协议引入了三种新的方法——“本地化”、“抽取”、和“重构”,并且在网络层面也具备非常低的通信...
  • 具有恒定大小密文的计算有效密文策略基于属性的加密
  • 针对单授权中心方案通信和计算开销较大的问题,提出一种基于密文策略属性基加密(ciphertext-policy attribute-based encryption,CP-ABE)的多授权中心访问控制方案。该方案引入属性管理器对用户属性进行分组,多个...
  • 使用AES方式加密解密,密文唯一,解密正确。
  • 加密密文检索云服务系统.pdf
  • 密文加密类型进行判断的命令行工具
  • 针对如何构造一个在标准模型下高效的选择密文安全的单向代理重加密方案这个问题,提出了一种新的、高效的单向代理重加密方案,并且在标准模型下证明了方案在自适应攻陷模型下的选择密文安全性。所提方案与LV方案相比...
  • 混合云环境下基于属性的密文策略加密方案

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,748
精华内容 33,099
关键字:

各种加密的密文特征