Changeset c9063f9


Ignore:
Timestamp:
Jan 23, 2016 5:12:47 PM (6 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
403044f
Parents:
e276feb
Message:

KeyFactory? and KeyPairGenerator? for ElGamal?.
Stub out decoding key constructors.

Location:
core/java/src/net/i2p/crypto
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • core/java/src/net/i2p/crypto/CryptoConstants.java

    re276feb rc9063f9  
    8181
    8282    /**
     83     *  @since 0.9.25
     84     */
     85    public static final ElGamalParameterSpec I2P_ELGAMAL_2048_SPEC = new ElGamalParameterSpec(elgp, elgg);
     86
     87    /**
    8388     *  This will be org.bouncycastle.jce.spec.ElgamalParameterSpec
    8489     *  if BC is available, otherwise it
     
    100105                //System.out.println("BC ElG spec failed");
    101106                //e.printStackTrace();
    102                 spec = new ElGamalParameterSpec(elgp, elgg);
     107                spec = I2P_ELGAMAL_2048_SPEC;
    103108            }
    104109        } else {
    105110            //System.out.println("BC not available");
    106             spec = new ElGamalParameterSpec(elgp, elgg);
     111            spec = I2P_ELGAMAL_2048_SPEC;
    107112        }
    108113        ELGAMAL_2048_SPEC = spec;
  • core/java/src/net/i2p/crypto/EncType.java

    re276feb rc9063f9  
    2828     *  Pubkey 256 bytes, privkey 256 bytes.
    2929     */
    30     ELGAMAL_2048(0, 256, 256, EncAlgo.ELGAMAL, "ElGamal/None/NoPadding", CryptoConstants.ELGAMAL_2048_SPEC, "0"),
     30    ELGAMAL_2048(0, 256, 256, EncAlgo.ELGAMAL, "ElGamal/None/NoPadding", CryptoConstants.I2P_ELGAMAL_2048_SPEC, "0"),
    3131
    3232    /**  Pubkey 64 bytes; privkey 32 bytes; */
  • core/java/src/net/i2p/crypto/elgamal/impl/ElGamalPrivateKeyImpl.java

    re276feb rc9063f9  
    55import java.io.ObjectOutputStream;
    66import java.math.BigInteger;
     7import java.security.spec.PKCS8EncodedKeySpec;
    78
    89import javax.crypto.interfaces.DHPrivateKey;
     
    2627    }
    2728
    28     ElGamalPrivateKeyImpl(
     29    public ElGamalPrivateKeyImpl(
    2930        ElGamalPrivateKey    key)
    3031    {
     
    3334    }
    3435
    35     ElGamalPrivateKeyImpl(
     36    public ElGamalPrivateKeyImpl(
    3637        DHPrivateKey    key)
    3738    {
     
    4041    }
    4142   
    42     ElGamalPrivateKeyImpl(
     43    public ElGamalPrivateKeyImpl(
    4344        ElGamalPrivateKeySpec    spec)
    4445    {
     
    4748    }
    4849
    49     ElGamalPrivateKeyImpl(
     50    public ElGamalPrivateKeyImpl(
    5051        DHPrivateKeySpec    spec)
    5152    {
    5253        this.x = spec.getX();
    5354        this.elSpec = new ElGamalParameterSpec(spec.getP(), spec.getG());
     55    }
     56   
     57    public ElGamalPrivateKeyImpl(
     58        BigInteger x,
     59        ElGamalParameterSpec elSpec)
     60    {
     61        this.x = x;
     62        this.elSpec = elSpec;
     63    }
     64
     65    public ElGamalPrivateKeyImpl(
     66        PKCS8EncodedKeySpec spec)
     67    {
     68        throw new UnsupportedOperationException("todo");
     69        //this.x = spec.getX();
     70        //this.elSpec = new ElGamalParameterSpec(spec.getP(), spec.getG());
    5471    }
    5572   
  • core/java/src/net/i2p/crypto/elgamal/impl/ElGamalPublicKeyImpl.java

    re276feb rc9063f9  
    55import java.io.ObjectOutputStream;
    66import java.math.BigInteger;
     7import java.security.spec.X509EncodedKeySpec;
    78
    89import javax.crypto.interfaces.DHPublicKey;
     
    2223    private ElGamalParameterSpec    elSpec;
    2324
    24     ElGamalPublicKeyImpl(
     25    public ElGamalPublicKeyImpl(
    2526        ElGamalPublicKeySpec    spec)
    2627    {
     
    2930    }
    3031
    31     ElGamalPublicKeyImpl(
     32    public ElGamalPublicKeyImpl(
    3233        DHPublicKeySpec    spec)
    3334    {
     
    3637    }
    3738   
    38     ElGamalPublicKeyImpl(
     39    public ElGamalPublicKeyImpl(
    3940        ElGamalPublicKey    key)
    4041    {
     
    4344    }
    4445
    45     ElGamalPublicKeyImpl(
     46    public ElGamalPublicKeyImpl(
    4647        DHPublicKey    key)
    4748    {
     
    5051    }
    5152   
    52     ElGamalPublicKeyImpl(
     53    public ElGamalPublicKeyImpl(
    5354        BigInteger              y,
    5455        ElGamalParameterSpec    elSpec)
     
    5657        this.y = y;
    5758        this.elSpec = elSpec;
     59    }
     60   
     61    public ElGamalPublicKeyImpl(
     62        X509EncodedKeySpec spec)
     63    {
     64        throw new UnsupportedOperationException("todo");
     65        //this.y = y;
     66        //this.elSpec = elSpec;
    5867    }
    5968
Note: See TracChangeset for help on using the changeset viewer.