Algorithm 寻找具有小输入和长输出的单向函数

Algorithm 寻找具有小输入和长输出的单向函数,algorithm,hash,cryptography,entropy,Algorithm,Hash,Cryptography,Entropy,我在寻找一个算法,它是一个单向函数,就像散列函数一样。该算法接受一个小的输入(几个位,小于512位),并将其映射到一个长的输出(1K字节或更多)。您知道这样的算法或函数吗?从中可以看出,拥有比纯文本大的密码文本不会获得任何安全性,除非任何输入的密钥(或创建密码文本的过程)不同。即使在这种情况下,您也只需要为每个输入x分配一个键(或机制),否则会违反函数的定义。因此,如果您应用加密机制f:X(输入集)->Y(输出集),那么来自的|Y |,除非密钥(或创建密码文本的过程)与任何输入不同,否则您不会通

我在寻找一个算法,它是一个单向函数,就像散列函数一样。该算法接受一个小的输入(几个位,小于512位),并将其映射到一个长的输出(1K字节或更多)。您知道这样的算法或函数吗?

从中可以看出,拥有比纯文本大的密码文本不会获得任何安全性,除非任何输入的密钥(或创建密码文本的过程)不同。即使在这种情况下,您也只需要为每个输入
x
分配一个键(或机制),否则会违反函数的定义。因此,如果您应用加密机制f:X(输入集)->Y(输出集),那么来自的
|Y |,除非密钥(或创建密码文本的过程)与任何输入不同,否则您不会通过拥有比纯文本大的密码文本来获得任何安全性。即使在这种情况下,您也只需要为每个输入
x
分配一个键(或机制),否则会违反函数的定义。因此,如果您应用加密机制f:X(输入集)->Y(输出集),那么无论您的原因是什么,您都可以使用不同的算法计算相同小数据的散列,然后将这些散列连接起来。如果输出不够大,请计算哈希值并附加它们


正如其他答案所指出的,从安全角度来看,这没有多大意义

无论您的理由是什么,您都可以使用不同的算法计算相同小数据的哈希值,然后将这些哈希值串联起来。如果输出不够大,请计算哈希值并附加它们


正如其他答案所指出的,从安全角度来看,这没有多大意义

具有可变长度输出(尽管在SHA-3中未对其进行评估),它的“安全声明与输出长度分离。存在最小输出长度…”和哈希函数的可变输出高达

具有可变长度输出(尽管在SHA-3中未对其进行评估),它是“安全声明与输出长度分离。“有一个最小输出长度…”并且哈希函数的可变输出最多为

您将每一位复制10次…;-)不,老实说,我看不出有任何理由这样做您将每一位复制10次…;-)不,老实说,我看不出有任何理由这样做谢谢您的回答。如果我有一个文件(例如,1M位),我使用一个或多个带有512位输入的单向函数生成1M位长度的数据,然后1M位文件与1M位数据异或,我可以将异或结果视为密文吗?谢谢你的回答。如果我有一个文件(例如1M位),我使用一个或多个带有512位输入的单向函数生成1M位长度的数据,然后1M位文件与1M位数据异或,我可以将异或结果视为密文吗?谢谢你的回答。如果我有一个文件(例如1M位),我使用一个或多个带有512位输入的单向函数生成1M位长度的数据,然后1M位文件与1M位数据进行异或,我可以将异或结果视为密文吗?@perfectpei听起来像是重新发明了RC4算法,这与你的想法非常相似。另外,从你的描述中我看到的算法听起来也很简单可以很容易地反转。如果你想对你试图发明的算法发表评论,最好是询问。谢谢你的回答。如果我有一个文件(例如,1M位),我使用一个或多个带有512位输入的单向函数生成1M位长度的数据,然后1M位文件与1M位数据进行异或,我可以将异或结果视为密文吗?@perfectpei听起来像是重新发明了RC4算法,这与你的想法非常相似。另外,从你的描述中我看到的算法听起来也很简单如果你想对你正试图发明的算法发表评论,最好是询问。