Class Encoding

    • Field Detail

    • Constructor Detail

      • Encoding

        public Encoding()
    • Method Detail

      • setField

        public void setField​(Field f)
      • encode

        public abstract byte[] encode​(FieldElement x)
        Encode a FieldElement in its (b-1)-bit encoding.
        Returns:
        the (b-1)-bit encoding of this FieldElement.
      • decode

        public abstract FieldElement decode​(byte[] in)
        Decode a FieldElement from its (b-1)-bit encoding. The highest bit is masked out.
        Parameters:
        in - the (b-1)-bit encoding of a FieldElement.
        Returns:
        the FieldElement represented by 'val'.
      • isNegative

        public abstract boolean isNegative​(FieldElement x)
        From the Ed25519 paper:
        x is negative if the (b-1)-bit encoding of x is lexicographically larger than the (b-1)-bit encoding of -x. If q is an odd prime and the encoding is the little-endian representation of {0, 1,..., q-1} then the negative elements of F_q are {1, 3, 5,..., q-2}.
        Returns:
        true if negative