That fuck shit the fascists are using
at master 61 lines 1.7 kB view raw
1/** 2 * Copyright (C) 2011 Whisper Systems 3 * Copyright (C) 2013 Open Whisper Systems 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18package org.tm.archive.crypto; 19 20import org.signal.libsignal.protocol.ecc.ECPrivateKey; 21import org.signal.libsignal.protocol.ecc.ECPublicKey; 22 23/** 24 * When a user first initializes TextSecure, a few secrets 25 * are generated. These are: 26 * 27 * 1) A 128bit symmetric encryption key. 28 * 2) A 160bit symmetric MAC key. 29 * 3) An ECC keypair. 30 * 31 * The first two, along with the ECC keypair's private key, are 32 * then encrypted on disk using PBE. 33 * 34 * This class represents the ECC keypair. 35 * 36 * @author Moxie Marlinspike 37 * 38 */ 39 40public class AsymmetricMasterSecret { 41 42 private final ECPublicKey djbPublicKey; 43 private final ECPrivateKey djbPrivateKey; 44 45 46 public AsymmetricMasterSecret(ECPublicKey djbPublicKey, ECPrivateKey djbPrivateKey) 47 { 48 this.djbPublicKey = djbPublicKey; 49 this.djbPrivateKey = djbPrivateKey; 50 } 51 52 public ECPublicKey getDjbPublicKey() { 53 return djbPublicKey; 54 } 55 56 57 public ECPrivateKey getPrivateKey() { 58 return djbPrivateKey; 59 } 60 61}