主题:【原创】也说一下关于密码的问题 -- yhz
原则上,我也赞同这点:
但是,既然大家对这个问题这么关心,那么我觉得还是要详细说一下我对这个问题的理解。
先抛开“密码”这个有争议的词不论,先说一下其它的一些和密码/密码学相关的术语:
口令:Password。这个含义很清晰,无需多解释。
密码学:Cryptography。指的是对密码算法的研究和使用。如果要细分,偏向于密码技术的使用,密码协议和安全系统的设计等。而对密码算法本身的研究和设计,还有另一个词Cryptology指代。但是如果不需要精确细分的话,一般二者通用。
密码算法:Cipher。一般是加密算法和解密算法的通称。
密钥/密匙/钥匙,Key,密码学上密码算法中的某些关键参量。
而1001n说的,如果说是他写的《密码传奇》,那么实际上他说的是密码学和密码学发展史(说实话我看的不是很多,断断续续看了大约10篇左右吧)。而且细分而言,可能也是考虑到读者的水平,在近现代密码学中,除了对enigma分析的一小段外,其余的大都是密码技术和密码协议上的叙述和描写。例如说描述分析破解enigma中,大量描述到对德军密电前几个字符是密钥及盟军以此为突破口等,这就是密码协议和密码分析的范畴。而描述到德军使用enigma传输天气预报而导致破解的时候,这些就属于德军的安全系统的设计失误等等。
同理,前面另一位朋友所说的《暗算》,也是密码学上的内容,而且监听(第一部)和密写术(第三部)等等,已经不是传统的密码学范畴了。
当然,有一点我想我们可以有共识的,就是“密码”一词,如果从广义而论,基本上包括了我上面所说的各种范畴。而现在我们所争议的就是,狭义上的“密码”所指,究竟是指代“密码学”?“密码算法”?还是“口令”?
在这点上,我承认汉语确实有含糊不清的一面。
但是我个人认为“密码”和“密码学”不是同一个指代对象。原因有以下几个:
一:在我能找到的所有翻译软件中,对Password一词,翻译的结果中,要么“口令”和“密码”并存,要么只出现“密码”,而不出现“口令”。反过来只出现“口令”而不出现“密码”的,目前我没有看到。而对Cryptography一词的翻译,均称为“密码学”。
二:wikipedia中,在“密码”词条中,明确写到:
而在“密码学”词条和“密码”的词条入口完全不同。这至少意味着“密码学”和“密码”是两个完全不同的词语(不像“物理学”和“物理”一样二者等价)。
但是我个人对把“密码”解释为“加密的代码”,有异议。因为很简单:“代码”一词是计算机中的专有名词,和“源代码”一词基本上等价。而“密码”的使用范围广得多,总不能说只有在计算机或者IT上的,才能叫做“密码”吧?
而我认为“密码”指代“口令”的原因是:现有大量的技术文档、软件界面、用户手册等等,都以“密码”代称“口令”,包括在我工作中接触到的大量涉及系统安全方向的专业技术文档,都以此代称。
另外,这种代称也在各方面被使用着:从银行ATM上的提示、银行柜台输入密码的语音提示、电子邮箱的登录(例如说我用的Gmail)还有网站(例如说西西河)都是如此--虽然大家都说严格意义上应当被称为“口令”。如果大家都有共识认为“密码”不能指代“口令”,那么首先应该让铁老大把西西河的登录界面给改了再说。
所以,起码在我的文章描述的范畴中,可以认为,这种取代是被广泛接受的。而且,更进一步来说,我们应当尊重我们所描述的原文。如果明天有人来问我:“你的文章很好,我按照你的方式,去银行柜台设置了新的口令,但是我去商店刷卡或者去ATM取款的时候,人家还是要问我密码,没问我口令,怎么办?”不要以为“Press any key to continue”这种笑话仅仅是笑话。
但是,如果说“密码”一词指代“密码算法”,也是有先例可寻的:例如说著名的凯撒密码,实际上指的是一种密码算法,不过这一般指的是古代的密码算法。到了现代的密码算法,一般重新称为算法了。例如说“DES算法”、“RSA算法”、“RC4/5算法”、“IDEA算法”等等。
至于有人用“对称密码”这种说法,反倒是不正确的。因为英文的描述为:symmetric-key algorithm。algorithm一词明显应当被翻译为“算法”。
或者从另一个角度,也可以认为“密码”是“密码算法”的简称,也行。
实际上,这种多重替代,或者用俗称来替代,是非常常见的。在不引起歧义的情况下,对大多数人都接受的替代称呼,不应该过多的干涉。
例如说,Linux这个词,指的是什么?一个操作系统?一类操作系统?一系列发行版的集合?错!
从严格定义来说,Linux仅仅指的是一个十来兆二十兆字节的程序,虽然通常我们称之为:内核,但是实际上,这个“内核”,才是真真正正严格定义上的Linux。但是,在绝大多数情况下,包括各种的软硬件驱动、shell都被通称为Linux。范围大一点的,连grub、Xwindow和各种的窗口管理器都会包括在内。
另外,Linux的严格称呼,应当为GNU/Linux。先不论法律上怎么说,但是单独称为Linux,在绝大多数情况下,也是约定俗成的。
至于Linux这个单词的发音,说实话,我听到的版本至少有三四个,不过没关系,大家知道说的是什么就可以了。
所以,我个人的看法如下:
一,“密码”这个词本身没有严格的学术定义,或者说我没有看到在学术界对此有共识或者有通用的定义(如果有的话,请各位提出相关的证据);
二,狭义上的“密码”一词,不应该指代为“密码学”;
三,“密码”同时指代“口令”和“密码算法”是不会引起歧义的,因为这二者同时在同一场合出现的可能性很小,而且,在专业技术文档中,“密码算法”一词通常是被明确指出的;
四,作为通用的约定俗成的称呼,“密码”指代“口令”一词,已经在绝大多数场合被使用,而且甚至可以看到“口令”一词本身已经很难看到。所以,从语言的角度来说,已经不是“指代”的关系,而是“替代”的关系了;
五,一词多义的情况,无论在中文还是英文,都非常常见(英文单词的Key,有多少种含义?)。只要没有明确的定义或者约定的共识,而且不引起歧义,直接使用较常见的称呼,并无不可。
最后,说说我对这个问题的感受,就是我似乎在不断的向几位在解释:为什么1+1=2?
因为在IT界,大量的中文技术术语,根本就没有统一的翻译标准。而实际使用中,为了表达准确,常常会直接使用英文原文。所以,抬杠一点说,很多时候,根本就无所谓“污染”一说--因为从来就没干净过。例如说最著名的“堆”、“栈”和“堆栈”的翻译,谁污染谁了?还能被怎么污染吗?
所以对于开头的那句话,我原则上同意。例如说“鲸鱼”不是鱼,要改为“鲸”这种,我同意。如果想把这个原则和模式套在IT界,不可能行得通。老实说,我比你们更盼望有个国家统一的术语翻译标准出来。在这个标准出来之前,我的唯一目的是让我的同事、老板、客户、读者明白。中文不够,搭上英文。
本帖一共被 3 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
压缩 3 层
🙂再说“瘀血”与“淤血”规范用法 瓦斯 字156 2008-11-26 08:05:21
🙂新华社禁用词汇-新闻报道中的禁用词(第一批) 瓦斯 字151 2008-11-26 07:50:56
🙂关于彩电和三用机的规范,我当年看到过报道,所以记得 瓦斯 字676 2008-11-26 07:32:32
🙂关于这个问题我觉得有必要讨论一下
🙂既是明白人就不做糊涂事。密码与口令的区别是什么呢? 瓦斯 字192 2008-11-25 23:37:08
🙂密码可以公开??? yhz 字267 2008-11-25 23:51:09
🙂密码和密文是同一回事,口令与明码是同一回事。 瓦斯 字0 2008-11-25 23:54:05
🙂你这玩笑开大了 yhz 字298 2008-11-26 00:02:12