找回密码
 注册
查看: 496|回复: 0

R语言 rngSetSeed包 getVectorSeed()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-9-27 19:45:53 | 显示全部楼层 |阅读模式
getVectorSeed(rngSetSeed)
getVectorSeed()所属R语言包:rngSetSeed

                                         Generates a random integer vector of a specified length using AES.
                                         生成一个随机整数的向量,使用AES指定的长度。

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

Transforms an input vector of an arbitrary length to a random integer vector of a specified length using Advanced Encryption Standard (AES) block cipher. If the output length is 624, then it is suitable as an initial state of Mersenne-Twister random number generator.
变换的输入矢量,将任意长度的一个随机整数向量一个指定的长度,使用高级加密标准(AES)的块密码。如果输出的长度是624,那么它是适合梅森费尔托斯特随机数发生器作为初始状态的。


用法----------Usage----------


  getVectorSeed(vseed, m)



参数----------Arguments----------

参数:vseed
Numeric vector of an arbitrary nonzero length, whose components have integer values from [0, 2^32 - 1].
数字矢量的任意一个非零的长度,其组成部分有整数值[0, 2^32 - 1]。


参数:m
Numeric, the length of the required output integer vector.
数字,所需的输出整数向量的长度。


Details

详细信息----------Details----------

The vector vseed is first replaced by c(vseed, length(vseed)) in order to guarantee that if vseed1 is the first part of vseed2, but they have a different length, then the outputs are unrelated. If the length of the resulting vector is not divisible by 8, the vector is padded by zeros to the nearest larger length divisible by 8. The resulting vector is splitted into k blocks of length 8 and these blocks are used as 256-bit keys in AES to encrypt k different counter sequences of length mm == ceiling(m/4). The encrypted values from all k rounds are combined by XOR to a single sequence of mm values, each of which is a sequence of 16 bytes. These sequences are splitted into subsequences of 4 bytes. Each of these 4*mm subsequences is combined to one 32-bit integer in an endianness independent way. The first m of the obtained integers form the output.
第一次取代vseed以保证,如果c(vseed, length(vseed))是第一部分vseed1,但他们有不同的长度,然后输出无关的向量vseed2 。如果所得到的矢量的长度,是不能被8整除,该向量是由零填充至最接近的较大的长度整除8。产生的向量分裂成k长度为8块,这些块使用256位密钥的AES加密k不同的计数序列的长度mm == ceiling(m/4)。从所有k的轮相结合的加密的值的XORmm的值到一个单一序列,其中每一个是16个字节的序列。这些序列被细分为4个字节的子序列。每个这些4*mm子序列结合到一个32位的整数中的字节顺序无关的方式。第一个m所得到的整数,形成输出。

The first round, which is the only round, if length(vseed) <= 7, is Fortuna random number generator using AES as described at http://en.wikipedia.org/wiki/Fortuna_(PRNG) with a key specified by the user. If length(vseed) >= 8, the algorithm uses XOR of the outputs of several Fortuna generators with keys formed from disjoint parts of the input vector and disjoint counter sequences.
这是唯一的轮,第一轮中,如果length(vseed) <= 7,是财神的随机数生成器(PRNG)http://en.wikipedia.org/wiki/Fortuna_中描述的由用户指定的密钥,使用AES 。如果length(vseed) >= 8,该算法使用的输出几个财神发电机的不相交的部分的输入向量和不相交的计数器序列形成的密钥的异或。

If m1 < m2, then the first m1 components of getVectorSeed(vseed, m2) and getVectorSeed(vseed, m1) are equal.
如果m1 < m2,然后第一个m1getVectorSeed(vseed, m2)和getVectorSeed(vseed, m1)是平等的组成部分。


值----------Value----------

Vector of length m of integer type. Its components are from [-2^31 + 1, 2^31 - 1] or NA, which represents -2^31. These values are interpreted as unsigned integers in [0, 2^32 - 1] modulo 2^32. If m == 624, the output vector is suitable as the initial state of Mersenne-Twister to be copied into .Random.seed[3:626].
向量的长度m整数类型。它的组成部分是从[-2^31 + 1, 2^31 - 1]或NA,代表-2^31的。这些值被解释为无符号整数[0, 2^32 - 1]模2^32。如果m == 624,输出向量是适合梅森费尔托斯特作为初始状态被复制到.Random.seed[3:626]。


参考文献----------References----------

http://en.wikipedia.org/wiki/Fortuna_(PRNG).

参见----------See Also----------

setVectorSeed
setVectorSeed


实例----------Examples----------


  getVectorSeed(0, 3) == c(1418754292, -1328910215, -1268802982)
  getVectorSeed(c(0, 1), 3) == c(1456767579, 1606355844, -1560283904)
  getVectorSeed(c(0, 1, 2), 3) == c(-1265102184, -974528510, 163341403)
  getVectorSeed(c(0, 1, 2), 3) == getVectorSeed(c(0, 1, 2), 33)[1:3]

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-24 19:26 , Processed in 0.020796 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表