ORACLE DATABASE > 知识库

来自PRTS
跳转到导航 跳转到搜索

欢迎访问 ORACLE DATABASE Doppler 知识库
本知识库记录了解密档案中一些需要引用的专业性资料的简述,具体信息可在万维网上查询。
维护者须知:仅在第一次出现的地方引用知识库词条。
KNOWLEDGE_BASE > Base64
一种基于64个打印字符来表示二进制数据的数据表示法。基础算法如下:
  • 将要发送的数据按3个字符一组分隔,并将每一组转化为8位二进制数据。
  • 取每一组数据(共24位),按6位一组分隔,将每个6位转化为十进制数。
如果该组数据不够6位(常见于最后一组),则以0补齐后续二进制位数后转化。
  • 根据索引表,从转化后的十进制数推出一个Base64编码字符。
一组3个字符应转化为4个Base64编码字符。如果该24位数据不足以达到该要求,剩下的部分以等号(=)填充。

Base64具有多种索引法,其中较为常用的一种为RFC 4648(原RPC 3548)编码,这也是通常语境下的“Base64”。

KNOWLEDGE_BASE > One-Time Pad
一次性密码本是古典密码学中的一种加密算法:使用随机的、仅使用一次的密钥搭配明文,加密出密文的加密方法。

该算法的安全性已由著名信息论创始人、密码学家克劳德·艾尔伍德·香农证明,但在实际操作中,一次性密码本必须遵守下列规定才能保持隐秘性:

  • 密钥必须是随机产生的;
  • 密钥的长度至少与明文等长;
  • 密钥必须只能使用一次,且必须对外保密。
KNOWLEDGE_BASE > Exclusive OR & XOR Cipher
异或,或称“互斥或”,是一种逻辑运算,其运算方式在数学中记为 p ⊕ q。

异或的算法为:若p与q中有且仅有一个为真,则 p ⊕ q 为真;如果p与q真假相同,则 p ⊕ q 为假。

在计算机中,异或(XOR)是二进制运算基础运算之一,常在编程语言中用 ^ 进行计算,此时即有 0^0=1^1=0,0^1=1^0=1。

通过异或算法完成的加密,即为异或加密,而这种加密通常都会遵守“一次性密码本”的算法:只要密钥不被泄露即可确保安全。

但一旦密钥泄露,密文和明文都将失守,这是因为异或具有特殊性质:对于 p ⊕ q = k,任意交换p、q、k在式中的位置,此运算始终成立。

也即当密文、密钥和明文中任意两个已知时,剩下一个可以通过这两个已知的数据做异或运算求出。

KNOWLEDGE_BASE > Morse Code
摩尔斯电码,或称“摩斯密码”,是由萨缪尔·摩尔斯及其助手艾尔菲德·维尔在1836年发明的一种电报传输信号码。

其核心为通过点( · )与划( - )两种基础信号为各字符编码以发送信息。

发报时,每个点信号占用1个单位长度,每个划信号占用3个单位长度;每个信号之间保留1个单位长度的无信号空隙,字符之间改为3个单位长度,单词之间改为7个单位长度。

当然,随着通信的现代化,目前摩尔斯电码已经逐渐退出大众视野,不过在各种专业场合,摩尔斯电码仍然具有重要作用(例如著名的SOS求救信号,在摩尔斯电码中即为···---···

一些文艺作品中也将摩尔斯电码作为密码使用。