Ejemplo n.º 1
0
 def reseed(self, seed):
     if self.pers:
         self.seed = skein512(self.seed + seed,
                              pers=self.pers,
                              digest_bits=SEED_SIZE * 8)
     else:
         self.seed = skein512(self.seed + seed, digest_bits=SEED_SIZE * 8)
Ejemplo n.º 2
0
def hash(data, digest_bits=512, mac=None, pers=None):
  if pers:
    if mac:
      return skein512(data, pers=pers, digest_bits=digest_bits)
    else:
      return skein512(data, pers=pers, digest_bits=digest_bits)
  else:
    if mac:
      return skein512(data, digest_bits=digest_bits)
    else:
      return skein512(data, digest_bits=digest_bits)
Ejemplo n.º 3
0
def hash(data, digest_bits=512, mac=None, pers=None):
    if pers:
        if mac:
            return skein512(data, pers=pers, digest_bits=digest_bits)
        else:
            return skein512(data, pers=pers, digest_bits=digest_bits)
    else:
        if mac:
            return skein512(data, digest_bits=digest_bits)
        else:
            return skein512(data, digest_bits=digest_bits)
Ejemplo n.º 4
0
 def getBytes(self, n):
   self.count=self.count+n
   while len(self.entropy)<n:
     if self.pers:
       result=skein512(self.iv, mac=self.key, pers=self.pers, digest_bits=(BLOCK_SIZE)*8)
     else:
       result=skein512(self.iv, mac=self.key, digest_bits=(BLOCK_SIZE)*8)
     self.entropy=self.entropy+result
     self.iv=result
   b, self.entropy=splitField(self.entropy, n)
   return b
Ejemplo n.º 5
0
 def getBytes(self, n):
   if v3:
     result=bytes('', 'ascii')
   else:
     result=''
   while len(result)<n:
     if self.pers:
       b=skein512(self.seed, pers=self.pers, digest_bits=512)
     else:
       b=skein512(self.seed, digest_bits=512)
     self.seed, r=splitFields(b, [SEED_SIZE])
     result=result+r
   return result[:n]
Ejemplo n.º 6
0
 def getBytes(self, n):
     if v3:
         result = bytes('', 'ascii')
     else:
         result = ''
     while len(result) < n:
         if self.pers:
             b = skein512(self.seed, pers=self.pers, digest_bits=512)
         else:
             b = skein512(self.seed, digest_bits=512)
         self.seed, r = splitFields(b, [SEED_SIZE])
         result = result + r
     return result[:n]
Ejemplo n.º 7
0
 def getBytes(self, n):
     self.count = self.count + n
     while len(self.entropy) < n:
         if self.pers:
             result = skein512(self.iv,
                               mac=self.key,
                               pers=self.pers,
                               digest_bits=(BLOCK_SIZE) * 8)
         else:
             result = skein512(self.iv,
                               mac=self.key,
                               digest_bits=(BLOCK_SIZE) * 8)
         self.entropy = self.entropy + result
         self.iv = result
     b, self.entropy = splitField(self.entropy, n)
     return b
import sys
from dust.crypto.pyskein import skein512
from dust.core.util import encode

v3 = (sys.version[0] == '3')

### Print hash of MSG if called directly ###
if __name__ == "__main__":
    if v3:
        MSG = bytes("Nobody inspects the spammish repetition", 'ascii')
    else:
        MSG = "Nobody inspects the spammish repetition"

    hash = skein512(msg=MSG, digest_bits=256)
    print(encode(hash))

    hash = skein512(msg=MSG, digest_bits=512)
    print(encode(hash))
Ejemplo n.º 9
0
 def reseed(self, seed):
   if self.pers:
     self.seed=skein512(self.seed+seed, pers=self.pers, digest_bits=SEED_SIZE*8)
   else:
     self.seed=skein512(self.seed+seed, digest_bits=SEED_SIZE*8)
Ejemplo n.º 10
0
def pbkdf(pb, salt, i, pers=None, digest_bits=256):
  data=(pb.encode('ascii')+salt)*i
  if pers:
    return skein512(data, pers=pers, digest_bits=digest_bits)
  else:
    return skein512(data, digest_bits=digest_bits)
Ejemplo n.º 11
0
def pbkdf(pb, salt, i, pers=None, digest_bits=256):
    data = (pb.encode('ascii') + salt) * i
    if pers:
        return skein512(data, pers=pers, digest_bits=digest_bits)
    else:
        return skein512(data, digest_bits=digest_bits)
Ejemplo n.º 12
0
import sys
from dust.crypto.pyskein import skein512
from dust.core.util import encode

v3=(sys.version[0]=='3')

### Print hash of MSG if called directly ###
if __name__ == "__main__":
  if v3:
    MSG = bytes("Nobody inspects the spammish repetition", 'ascii')
  else:
    MSG = "Nobody inspects the spammish repetition"

  hash = skein512(msg=MSG, digest_bits=256)
  print(encode(hash))

  hash = skein512(msg=MSG, digest_bits=512)
  print(encode(hash))