Go to the latest version of this document.
search in docstrings

Search bar offers the following options:

- Term presence. The below example searches for documents that must contain “foo”, might contain “bar” and must not contain “baz”: `+foo bar -baz`
- Wildcards. The below example searches for documents with words beginning with “foo”: `foo*`
- Search in specific fields. The following search matches all objects in "twisted.mail" that matches “search”: `+qname:twisted.mail.* +search`

  Possible fields: 'name', 'qname' (fully qualified name), 'docstring', and 'kind'. Last two fields are only applicable if "search in docstrings" is enabled.

- Fuzzy matches. The following search matches all documents that have a word within 1 edit distance of “foo”: `foo~1`

Results provided by Lunr.js

# ``twisted`.`conch`.`ssh`.`transport`.`SSHCiphers``

class documentation

`class SSHCiphers: (source)`

View In Hierarchy

SSHCiphers represents all the encryption operations that need to occur to encrypt and authenticate the SSH connection.

Method | `__init__` | Undocumented
Method | `decrypt` | Decrypt some data.
Method | `encrypt` | Encrypt some data.
Method | `makeMAC` | Create a message authentication code (MAC) for the given packet using the outgoing MAC values.
Method | `setKeys` | Set up the ciphers and hashes using the given keys,
Method | `verify` | Verify an incoming MAC using the incoming MAC values.
Class Variable | `cipherMap` | A dictionary mapping SSH encryption names to 3-tuples of (<cryptography.hazmat.primitives.interfaces.CipherAlgorithm>, <block size>, <cryptography.hazmat.primitives.interfaces.Mode>)
Class Variable | `macMap` | A dictionary mapping SSH MAC names to hash modules.
Instance Variable | `decBlockSize` | the block size of the incoming cipher.
Instance Variable | `decryptor` | Undocumented
Instance Variable | `encBlockSize` | the block size of the outgoing cipher.
Instance Variable | `encryptor` | Undocumented
Instance Variable | `inCipType` | the string type of the incoming cipher.
Instance Variable | `inMAc` | see outMAC, but for the incoming MAC.
Instance Variable | `inMAC` | Undocumented
Instance Variable | `inMACType` | the string type of the incoming MAC.
Instance Variable | `outCipType` | the string type of the outgoing cipher.
Instance Variable | `outMAC` | a tuple of (<hash module>, <inner key>, <outer key>, <digest size>) representing the outgoing MAC.
Instance Variable | `outMACType` | the string type of the incoming MAC.
Instance Variable | `verifyDigestSize` | the size of the incoming MAC.
Method | `_getCipher` | Creates an initialized cipher object.
Method | `_getMAC` | Gets a 4-tuple representing the message authentication code. (<hash module>, <inner hash value>, <outer hash value>, <digest size>)

def __init__(self, outCip, inCip, outMac, inMac): (source)

Undocumented

def decrypt(self, blocks): (source)

Decrypt some data.

Parameters
blocks:`bytes` | The data to decrypt.
Returns
`bytes` | The decrypted data.

def encrypt(self, blocks): (source)

Encrypt some data.

Parameters
blocks:`bytes` | The data to encrypt.
Returns
`bytes` | The encrypted data.

def makeMAC(self, seqid, data): (source)

Create a message authentication code (MAC) for the given packet using the outgoing MAC values.

Parameters
seqid:`int` | The sequence ID of the outgoing packet.
data:`bytes` | The data to create a MAC for.
Returns
`str` | The serialized MAC.

def setKeys(self, outIV, outKey, inIV, inKey, outInteg, inInteg): (source)

Set up the ciphers and hashes using the given keys,

Parameters
outIV | the outgoing initialization vector
outKey | the outgoing encryption key
inIV | the incoming initialization vector
inKey | the incoming encryption key
outInteg | the outgoing integrity key
inInteg | the incoming integrity key.

def verify(self, seqid, data, mac): (source)

Verify an incoming MAC using the incoming MAC values.

Parameters
seqid:`int` | The sequence ID of the incoming packet.
data:`bytes` | The packet data to verify.
mac:`bytes` | The MAC sent with the packet.
Returns
`bool` | `True` if the MAC is valid.

cipherMap = (source)

A dictionary mapping SSH encryption names to 3-tuples of (<cryptography.hazmat.primitives.interfaces.CipherAlgorithm>, <block size>, <cryptography.hazmat.primitives.interfaces.Mode>)

macMap = (source)

A dictionary mapping SSH MAC names to hash modules.

decBlockSize = (source)

the block size of the incoming cipher.

decryptor = (source)

Undocumented

encBlockSize = (source)

the block size of the outgoing cipher.

encryptor = (source)

Undocumented

inCipType = (source)

the string type of the incoming cipher.

inMAc = (source)

see outMAC, but for the incoming MAC.

inMAC = (source)

Undocumented

inMACType = (source)

the string type of the incoming MAC.

outCipType = (source)

the string type of the outgoing cipher.

outMAC = (source)

a tuple of (<hash module>, <inner key>, <outer key>, <digest size>) representing the outgoing MAC.

outMACType = (source)

the string type of the incoming MAC.

verifyDigestSize = (source)

the size of the incoming MAC.

def _getCipher(self, cip, iv, key): (source)

Creates an initialized cipher object.

Parameters
cip | the name of the cipher, maps into cipherMap
iv | the initialzation vector
key | the encryption key
Returns
the cipher object.

def _getMAC(self, mac, key): (source)

Gets a 4-tuple representing the message authentication code. (<hash module>, <inner hash value>, <outer hash value>, <digest size>)

Parameters
mac:`bytes` | a key mapping into macMap
key:`bytes` | the MAC key.
Returns
`bytes` | The MAC components.