pyrit.prompt_converter.CaesarConverter#

class CaesarConverter(*, caesar_offset: int, append_description: bool = False)[source]#

Bases: PromptConverter

Converter to encode prompt using caesar cipher.

Encodes by using given offset. Using offset=1, ‘Hello 123’ would encode to ‘Ifmmp 234’, as each character would shift by 1. Shifts for digits 0-9 only work if the offset is less than 10, if the offset is equal to or greather than 10, any numeric values will not be shifted.

Parameters:
  • caesar_offset (int) – Offset for caesar cipher, range 0 to 25 (inclusive). Can also be negative for shifting backwards.

  • append_description (bool, default=False) – Append plaintext “expert” text to the prompt. Includes instructions to only communicate using the cipher, a description of the cipher, and an example encoded using cipher.

__init__(*, caesar_offset: int, append_description: bool = False) None[source]#

Methods

__init__(*, caesar_offset[, append_description])

convert_async(*, prompt[, input_type])

Simple converter that caesar cipher encodes the prompt.

convert_tokens_async(*, prompt[, ...])

Converts substrings within a prompt that are enclosed by specified start and end tokens.

get_identifier()

input_supported(input_type)

Checks if the input type is supported by the converter

async convert_async(*, prompt: str, input_type: Literal['text', 'image_path', 'audio_path', 'url', 'error'] = 'text') ConverterResult[source]#

Simple converter that caesar cipher encodes the prompt.

input_supported(input_type: Literal['text', 'image_path', 'audio_path', 'url', 'error']) bool[source]#

Checks if the input type is supported by the converter

Parameters:

input_type – The input type to check

Returns:

True if the input type is supported, False otherwise

Return type:

bool