首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >间隔带种子的PRNG

间隔带种子的PRNG
EN

Stack Overflow用户
提问于 2014-06-28 15:42:22
回答 1查看 112关注 0票数 0

因此,我的问题是:我试图用用户选择的密码P (比如"4z327yU10p")在Java中实现一种加密消息M的方法(比如从1个字符加密到1000)。然后,我希望使用伪随机数生成器(PRNG)将消息隐藏在图像中,以选择像素。我的种子是密码。

我的方法是:

  1. sha3在密码上获得256 b输出作为密钥使用
  2. 使用AES与先前生成的密钥一起获取加密消息
  3. 将输出用作我的PRNG的种子

对于(1):这是可能的短密码吗?

对于(2):AES可以用于小消息吗?

对于(3):如何在图像的间隔中有随机数?(0,...,480000),因为我的算法给了我一个int

下面是代码:

代码语言:javascript
复制
public void initSeed(String password){ //pour initier la seed avec le password
    Message message = new Message();
    message.initMessageASCII(password);
    List <Integer> temp = message.getMsg();
    byte[] vect = new byte[temp.size()];
    for (int i=0; i< temp.size(); i++){
        vect[i] = temp.get(i).byteValue();
    }
    this.seed = vect;
}

public void init() { //pour initier le remplissage du vecteur randList
    SecureRandom random;
    try {
        random = SecureRandom.getInstance("SHA1PRNG"); //SHA1PRNG est un algorithme très efficace
        random.setSeed(seed);
        random.nextBytes(randList); //fonction pour créer les bytes aléatoires et les écrire dans "bytes"
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-28 23:48:07

我将回答不同的问题(问不同的问题):

  1. 是的,SHA-3可以用于任意大小的消息.
  2. 是的,AES可以用于任意大小的消息。
  3. Random.nextInt(int)

你可以把这看作是顾问的诅咒,我给了你你想要的,而不是你想要的。例如,您不需要(尚未标准化) SHA-3,但是您应该使用PBKDF。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24468415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档