       @hash()[0...K.kid.len]
     ]
   ekid : () -> Buffer.concat [ new Buffer([K.kid.version, @type ] ), @hash() ]
+
+  #----------------
+
+  mod_pow : (x,d) -> x.modPow(d,@n)
 
 #=======================================================================
 

class Priv
  constructor : ({@p,@q,@d,@dmp1,@dmq1,@u,@pub}) ->

  decrypt : (c) -> c.modPow @d, @pub.n
  sign    : (m) -> m.modPow @d, @pub.n

  serialize : () -> 
    Buffer.concat [

      @u.to_mpi_buffer()
    ]

  #--------------------

  n : () -> @p.multiply(@q)
  phi : () -> @p.subtract(BigInteger.ONE).multiply(@q.subtract(BigInteger.ONE))
  lambda : () -> @phi.divide(@p.subtract(BigInteger.ONE).gcd(@q.subtract(BigInteger.ONE)))

  #--------------------

  @alloc : (raw, pub) ->
    orig_len = raw.length
