code: func EncryptKey(key *Key, auth string, scryptN, scryptP int) ([]byte, error) {
  	keyBytes := math.PaddedBigBytes(key.PrivateKey.D, 32)
  	cryptoStruct, err := EncryptDataV3(keyBytes, []byte(auth), scryptN, scryptP)
  	if err != nil {
  		return nil, err
  	}
  	encryptedKeyJSONV3 := encryptedKeyJSONV3{
  		hex.EncodeToString(key.Address[:]),
  		cryptoStruct,
  		key.Id.String(),
  		version,
  	}
  	return json.Marshal(encryptedKeyJSONV3)
  }
docs: // EncryptKey encrypts a key using the specified scrypt parameters into a json
  // blob that can be decrypted later on.