A historical text may now be unreadable, because its language is unknown, or its script forgotten (or both), or because it was deliberately enciphered. Deciphering needs two steps: Identify the language, then map the unknown script to a familiar one. I’ll present an algorithm to solve a cartoon version of this problem, where the language is known, and the cipher is alphabet rearrangement.
Is your crypto secure? Let's take a look at what main issues there are in modern cryptography that software developers and architects have to be aware of.
In cryptography, a one-time pad (OTP) is an encryption technique that cannot be cracked if used correctly. In this technique, a plaintext is paired with a random ...
Understanding the History of EncryptionUnderstanding thecorbing9ttj
Understanding the History of Encryption
Understanding the History of Encryption
Few facts -
Encryption has been around for a very long time. Instead of explaining the History of Cryptography, I am going to recommend a very good book by David Khan called "The Code Breakers" , published in 1996.
Instead of starting with early encryption algorithm, I am going to used two interesting encryption algorithms that will capture manu of the concepts that Khan outline in his book. The first algorithm is Character Substitution. Remember, the problem we are trying to solve is "how do we secure communications?". An example is - Suppose Alice and Bob wants to communicate securely using Eve is an attacker that wants to eavesdrop on the conversation. In order to communicate securely, Alice and Bob are going to share a secret key, which we are going to call K. Eve does not know anything about the key K.
Alice, Bob and even Eve know the algorithm (say character substitution). We all have played the substitution game in School. A is map to C and B is map to X and C is map to W and so on and so forth. So, if EVE gets the mapping and the ciphered text, she will be able to decipher the secret. Let supposed Eve gets the ciphered text but not the mapping (key). It will be difficult to figure the key out.
Assuming we have 26 letters, how many possibilities are there --> guess?
1. 26
2. 26X26
3. 26! (factorial)
4. 2^26
The answer is 26! which is about 2^88 if I remember correctly, which is a very large sample space. I hope you understand where I got the 26!. Think of one mapping and now think of another mapping and so on.
What is factorial? 1! = 1, 2! = 1X2 = 2, 3! = 1X2X3 = 6 and so on.
When I said 2^88, it is a good key since it is using 88 bits. Note that I am not saying it is great.
What I want you to do is to think about how you would break a substitution cipher? It is not hard but it needs some imagination.
The Substitution Cipher and How to break the Cipher
Breaking The Substitution Cipher
One way to break a substitution cipher is to use frequency analysis. Let's focus on the English language for now but the process works the same way for other languages. The character "e" occurs 12.7% in the Eglish language and the letter "t" occurs 9.35% and the letter "a" is 8.2% of the time. So, you can count each character in the ciphered text, compute its frequency and start replacing it. After you complete the first say 4 characters, you may want to change your strategy. Can you explain why you want to stop after the first 4 characters? The two-character "of" is about 4.16% and "to" is about 2%. Now try three characters frequency.
After a period of time, you will be able to decipher most of the text. I am going to ask you to do your first significant homework using frequency analysis.
One possibility for the substitution cipher:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
↕
↕
↕
↕
↕
↕
↕
↕
↕
↕
...
Is your crypto secure? Let's take a look at what main issues there are in modern cryptography that software developers and architects have to be aware of.
In cryptography, a one-time pad (OTP) is an encryption technique that cannot be cracked if used correctly. In this technique, a plaintext is paired with a random ...
Understanding the History of EncryptionUnderstanding thecorbing9ttj
Understanding the History of Encryption
Understanding the History of Encryption
Few facts -
Encryption has been around for a very long time. Instead of explaining the History of Cryptography, I am going to recommend a very good book by David Khan called "The Code Breakers" , published in 1996.
Instead of starting with early encryption algorithm, I am going to used two interesting encryption algorithms that will capture manu of the concepts that Khan outline in his book. The first algorithm is Character Substitution. Remember, the problem we are trying to solve is "how do we secure communications?". An example is - Suppose Alice and Bob wants to communicate securely using Eve is an attacker that wants to eavesdrop on the conversation. In order to communicate securely, Alice and Bob are going to share a secret key, which we are going to call K. Eve does not know anything about the key K.
Alice, Bob and even Eve know the algorithm (say character substitution). We all have played the substitution game in School. A is map to C and B is map to X and C is map to W and so on and so forth. So, if EVE gets the mapping and the ciphered text, she will be able to decipher the secret. Let supposed Eve gets the ciphered text but not the mapping (key). It will be difficult to figure the key out.
Assuming we have 26 letters, how many possibilities are there --> guess?
1. 26
2. 26X26
3. 26! (factorial)
4. 2^26
The answer is 26! which is about 2^88 if I remember correctly, which is a very large sample space. I hope you understand where I got the 26!. Think of one mapping and now think of another mapping and so on.
What is factorial? 1! = 1, 2! = 1X2 = 2, 3! = 1X2X3 = 6 and so on.
When I said 2^88, it is a good key since it is using 88 bits. Note that I am not saying it is great.
What I want you to do is to think about how you would break a substitution cipher? It is not hard but it needs some imagination.
The Substitution Cipher and How to break the Cipher
Breaking The Substitution Cipher
One way to break a substitution cipher is to use frequency analysis. Let's focus on the English language for now but the process works the same way for other languages. The character "e" occurs 12.7% in the Eglish language and the letter "t" occurs 9.35% and the letter "a" is 8.2% of the time. So, you can count each character in the ciphered text, compute its frequency and start replacing it. After you complete the first say 4 characters, you may want to change your strategy. Can you explain why you want to stop after the first 4 characters? The two-character "of" is about 4.16% and "to" is about 2%. Now try three characters frequency.
After a period of time, you will be able to decipher most of the text. I am going to ask you to do your first significant homework using frequency analysis.
One possibility for the substitution cipher:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
↕
↕
↕
↕
↕
↕
↕
↕
↕
↕
...
Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...PyData
At this workshop, you will build your own messaging insights system - data ingestion from a live data source (Reddit), queueing, deploying a machine learning model, and serving messages with insights to your mobile phone!
Unit testing data with marbles - Jane Stewart Adams, Leif WalshPyData
In the same way that we need to make assertions about how code functions, we need to make assertions about data, and unit testing is a promising framework. In this talk, we'll explore what is unique about unit testing data, and see how Two Sigma's open source library Marbles addresses these unique challenges in several real-world scenarios.
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake BolewskiPyData
TileDB is an open-source storage manager for multi-dimensional sparse and dense array data. It has a novel architecture that addresses some of the pain points in storing array data on “big-data” and “cloud” storage architectures. This talk will highlight TileDB’s design and its ability to integrate with analysis environments relevant to the PyData community such as Python, R, Julia, etc.
Using Embeddings to Understand the Variance and Evolution of Data Science... ...PyData
In this talk I will discuss exponential family embeddings, which are methods that extend the idea behind word embeddings to other data types. I will describe how we used dynamic embeddings to understand how data science skill-sets have transformed over the last 3 years using our large corpus of jobs. The key takeaway is that these models can enrich analysis of specialized datasets.
Deploying Data Science for Distribution of The New York Times - Anne BauerPyData
How many newspapers should be distributed to each store for sale every day? The data science group at The New York Times addresses this optimization problem using custom time series modeling and analytical solutions, while also incorporating qualitative business concerns. I'll describe our modeling and data engineering approaches, written in Python and hosted on Google Cloud Platform.
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaPyData
However, the the graph theory jargon can make graph analytics seem more intimidating for self-study than is necessary. In this talk, the audience will be exposed to some of the basic concepts of graph theory (no prerequisite math knowledge needed!) and a few of the Python tools available for graph analysis.
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...PyData
To productionize data science work (and have it taken seriously by software engineers, CTOs, clients, or the open source community), you need to write tests! Except… how can you test code that performs nondeterministic tasks like natural language parsing and modeling? This talk presents an approach to testing probabilistic functions in code, illustrated with concrete examples written for Pytest.
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroPyData
Those of us who use TensorFlow often focus on building the model that's most predictive, not the one that's most deployable. So how to put that hard work to work? In this talk, we'll walk through a strategy for taking your machine learning models from Jupyter Notebook into production and beyond.
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...PyData
In September 2017, dockless bikeshare joined the transportation options in the District of Columbia. In March 2018, scooter share followed. During the pilot of these technologies, Python has helped District Department of Transportation answer some critical questions. This talk will discuss how Python was used to answer research questions and how it supported the evaluation of this demonstration.
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottPyData
There are many stories of developers creating databases that don't operate at scale. The application is good, but the database won't work the realistic volumes of data. It's like a horror movie where they never looked behind the door, ran into the dark forest and night, and discovered the database was the monster killing their application. How can we leverage Python to avoid scaling problems?
Machine learning often requires us to think spatially and make choices about what it means for two instances to be close or far apart. So which is best - Euclidean? Manhattan? Cosine? It all depends! In this talk, we'll explore open source tools and visual diagnostic strategies for picking good distance metrics when doing machine learning on text.
End-to-End Machine learning pipelines for Python driven organizations - Nick ...PyData
The recent advances in machine learning and artificial intelligence are amazing! Yet, in order to have real value within a company, data scientists must be able to get their models off of their laptops and deployed within a company’s data pipelines and infrastructure. In this session, I'll demonstrate how one-off experiments can be transformed into scalable ML pipelines with minimal effort.
We will be using Beautiful Soup to Webscrape the IMDB website and create a function that will allow you to create a dictionary object on specific metadata of the IMDB profile for any IMDB ID you pass through as an argument.
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...PyData
This talk describes an experimental approach to time series modeling using 1D convolution filter layers in a neural network architecture. This approach was developed at System1 for forecasting marketplace value of online advertising categories.
Extending Pandas with Custom Types - Will AydPyData
Pandas v.0.23 brought to life a new extension interface through which you can extend NumPy's type system. This talk will explain what that means in more detail and provide practical examples of how the new interface can be leveraged to drastically improve your reporting.
Machine learning models are increasingly used to make decisions that affect people’s lives. With this power comes a responsibility to ensure that model predictions are fair. In this talk I’ll introduce several common model fairness metrics, discuss their tradeoffs, and finally demonstrate their use with a case study analyzing anonymized data from one of Civis Analytics’s client engagements.
What's the Science in Data Science? - Skipper SeaboldPyData
The gold standard for validating any scientific assumption is to run an experiment. Data science isn’t any different. Unfortunately, it’s not always possible to design the perfect experiment. In this talk, we’ll take a realistic look at measurement using tools from the social sciences to conduct quasi-experiments with observational data.
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...PyData
Forecasting time-series data has applications in many fields, including finance, health, etc. There are potential pitfalls when applying classic statistical and machine learning methods to time-series problems. This talk will give folks the basic toolbox to analyze time-series data and perform forecasting using statistical and machine learning models, as well as interpret and convey the outputs.
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...PyData
Artificial intelligence is emerging as a new paradigm in materials science. This talk describes how physical intuition and (insightful) machine learning can solve the complicated task of structure recognition in materials at the nanoscale.
Deprecating the state machine: building conversational AI with the Rasa stack...PyData
Rasa NLU & Rasa Core are the leading open source libraries for building machine learning-based chatbots and voice assistants. In this live-coding workshop you will learn the fundamentals of conversational AI and how to build your own using the Rasa Stack.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Michal Mucha: Build and Deploy an End-to-end Streaming NLP Insight System | P...PyData
At this workshop, you will build your own messaging insights system - data ingestion from a live data source (Reddit), queueing, deploying a machine learning model, and serving messages with insights to your mobile phone!
Unit testing data with marbles - Jane Stewart Adams, Leif WalshPyData
In the same way that we need to make assertions about how code functions, we need to make assertions about data, and unit testing is a promising framework. In this talk, we'll explore what is unique about unit testing data, and see how Two Sigma's open source library Marbles addresses these unique challenges in several real-world scenarios.
The TileDB Array Data Storage Manager - Stavros Papadopoulos, Jake BolewskiPyData
TileDB is an open-source storage manager for multi-dimensional sparse and dense array data. It has a novel architecture that addresses some of the pain points in storing array data on “big-data” and “cloud” storage architectures. This talk will highlight TileDB’s design and its ability to integrate with analysis environments relevant to the PyData community such as Python, R, Julia, etc.
Using Embeddings to Understand the Variance and Evolution of Data Science... ...PyData
In this talk I will discuss exponential family embeddings, which are methods that extend the idea behind word embeddings to other data types. I will describe how we used dynamic embeddings to understand how data science skill-sets have transformed over the last 3 years using our large corpus of jobs. The key takeaway is that these models can enrich analysis of specialized datasets.
Deploying Data Science for Distribution of The New York Times - Anne BauerPyData
How many newspapers should be distributed to each store for sale every day? The data science group at The New York Times addresses this optimization problem using custom time series modeling and analytical solutions, while also incorporating qualitative business concerns. I'll describe our modeling and data engineering approaches, written in Python and hosted on Google Cloud Platform.
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaPyData
However, the the graph theory jargon can make graph analytics seem more intimidating for self-study than is necessary. In this talk, the audience will be exposed to some of the basic concepts of graph theory (no prerequisite math knowledge needed!) and a few of the Python tools available for graph analysis.
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...PyData
To productionize data science work (and have it taken seriously by software engineers, CTOs, clients, or the open source community), you need to write tests! Except… how can you test code that performs nondeterministic tasks like natural language parsing and modeling? This talk presents an approach to testing probabilistic functions in code, illustrated with concrete examples written for Pytest.
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroPyData
Those of us who use TensorFlow often focus on building the model that's most predictive, not the one that's most deployable. So how to put that hard work to work? In this talk, we'll walk through a strategy for taking your machine learning models from Jupyter Notebook into production and beyond.
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...PyData
In September 2017, dockless bikeshare joined the transportation options in the District of Columbia. In March 2018, scooter share followed. During the pilot of these technologies, Python has helped District Department of Transportation answer some critical questions. This talk will discuss how Python was used to answer research questions and how it supported the evaluation of this demonstration.
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottPyData
There are many stories of developers creating databases that don't operate at scale. The application is good, but the database won't work the realistic volumes of data. It's like a horror movie where they never looked behind the door, ran into the dark forest and night, and discovered the database was the monster killing their application. How can we leverage Python to avoid scaling problems?
Machine learning often requires us to think spatially and make choices about what it means for two instances to be close or far apart. So which is best - Euclidean? Manhattan? Cosine? It all depends! In this talk, we'll explore open source tools and visual diagnostic strategies for picking good distance metrics when doing machine learning on text.
End-to-End Machine learning pipelines for Python driven organizations - Nick ...PyData
The recent advances in machine learning and artificial intelligence are amazing! Yet, in order to have real value within a company, data scientists must be able to get their models off of their laptops and deployed within a company’s data pipelines and infrastructure. In this session, I'll demonstrate how one-off experiments can be transformed into scalable ML pipelines with minimal effort.
We will be using Beautiful Soup to Webscrape the IMDB website and create a function that will allow you to create a dictionary object on specific metadata of the IMDB profile for any IMDB ID you pass through as an argument.
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...PyData
This talk describes an experimental approach to time series modeling using 1D convolution filter layers in a neural network architecture. This approach was developed at System1 for forecasting marketplace value of online advertising categories.
Extending Pandas with Custom Types - Will AydPyData
Pandas v.0.23 brought to life a new extension interface through which you can extend NumPy's type system. This talk will explain what that means in more detail and provide practical examples of how the new interface can be leveraged to drastically improve your reporting.
Machine learning models are increasingly used to make decisions that affect people’s lives. With this power comes a responsibility to ensure that model predictions are fair. In this talk I’ll introduce several common model fairness metrics, discuss their tradeoffs, and finally demonstrate their use with a case study analyzing anonymized data from one of Civis Analytics’s client engagements.
What's the Science in Data Science? - Skipper SeaboldPyData
The gold standard for validating any scientific assumption is to run an experiment. Data science isn’t any different. Unfortunately, it’s not always possible to design the perfect experiment. In this talk, we’ll take a realistic look at measurement using tools from the social sciences to conduct quasi-experiments with observational data.
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...PyData
Forecasting time-series data has applications in many fields, including finance, health, etc. There are potential pitfalls when applying classic statistical and machine learning methods to time-series problems. This talk will give folks the basic toolbox to analyze time-series data and perform forecasting using statistical and machine learning models, as well as interpret and convey the outputs.
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...PyData
Artificial intelligence is emerging as a new paradigm in materials science. This talk describes how physical intuition and (insightful) machine learning can solve the complicated task of structure recognition in materials at the nanoscale.
Deprecating the state machine: building conversational AI with the Rasa stack...PyData
Rasa NLU & Rasa Core are the leading open source libraries for building machine learning-based chatbots and voice assistants. In this live-coding workshop you will learn the fundamentals of conversational AI and how to build your own using the Rasa Stack.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
9. 1. Introduction
Cipher textPlain text
encryption
decryption
“the cat sat on the mat” “uif dbu tbu po uif nbu”
Encryption & decryption
10. 1. Introduction
Cipher textPlain text
encryption
decryption
“the cat sat on the mat” “uif dbu tbu po uif nbu”
Encryption & decryption
“Mono-Alphabetic Substitution Cipher” (MASC)
Replace each plain text letter with a single, fixed cipher text letter.
Algorithm:
11. 1. Introduction
Cipher textPlain text
encryption
decryption
“the cat sat on the mat” “uif dbu tbu po uif nbu”
Encryption & decryption
“Mono-Alphabetic Substitution Cipher” (MASC)
Replace each plain text letter with a single, fixed cipher text letter.
Algorithm:
{a 7! b, b 7! c, . . .}<latexit sha1_base64="v4rjKncKUxiOht1plgEILCpWNAA=">AAACD3icdVDLSgMxFL1TX7W+Rl0KEiyKi1JmXNh2IwU3LivYB3RKyWTSNjTzIMkIZegfuHHZnd/gxoUibt2682/MtCo+DwROzrmX5Bw34kwqy3o1MnPzC4tL2eXcyura+oa5udWQYSwIrZOQh6LlYkk5C2hdMcVpKxIU+y6nTXd4mvrNSyokC4MLNYpox8f9gPUYwUpLXfPASTByfBxJFSK3gNzPCykgh3uhksgZ57pm3ipWSuVy5Rj9JnbRmiJf3Z1MbgCg1jVfHC8ksU8DRTiWsm1bkeokWChGOB3nnFjSCJMh7tO2pgH2qewk0zxjtK8VD/VCoU+g0FT9upFgX8qR7+pJH6uB/Oml4l9eO1a9cidhQRQrGpDZQ72YIx03LQd5TFCi+EgTTATTf0VkgAUmSleYlvCRFP1PGkdF2yra57qNE5ghCzuwB4dgQwmqcAY1qAOBK7iFe3gwro0749F4mo1mjPedbfgG4/kNNNaduA==</latexit><latexit sha1_base64="EL+Q1x+C71y+qzEf13d7koRz6BU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7rsZgi5HiVQx9MvQ/7zgMnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZITn30=</latexit><latexit sha1_base64="EL+Q1x+C71y+qzEf13d7koRz6BU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7rsZgi5HiVQx9MvQ/7zgMnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZITn30=</latexit><latexit sha1_base64="+qXmXDvbsp9dxNODp3hOJ51qX74=">AAACD3icdVBLSwMxGMz6rPW16tFLsCgeStn1YNuLFLx4rGAf0F1KNpttQ7PJkmSFsvQfePGvePGgiFev3vw3ZtsqPgcCk5nvI5kJEkaVdpw3a2FxaXlltbBWXN/Y3Nq2d3bbSqQSkxYWTMhugBRhlJOWppqRbiIJigNGOsHoPPc710QqKviVHifEj9GA04hipI3Ut4+8DEEvRonSAgZlGHxecBl6LBRaQW9S7Nslp1Kv1mr1U/ibuBVnihKYo9m3X71Q4DQmXGOGlOq5TqL9DElNMSOTopcqkiA8QgPSM5SjmCg/m+aZwEOjhDAS0hyu4VT9upGhWKlxHJjJGOmh+unl4l9eL9VRzc8oT1JNOJ49FKUMmrh5OTCkkmDNxoYgLKn5K8RDJBHWpsK8hI+k8H/SPqm4TsW9dEqNs3kdBbAPDsAxcEEVNMAFaIIWwOAG3IEH8GjdWvfWk/U8G12w5jt74Busl3dBBJuI</latexit>
{b 7! a, c 7! b, . . .}<latexit sha1_base64="5hczuU3PZbTCk1ak6zzIIIj/v8M=">AAACD3icdVDLSgMxFL1TX7W+Rl0KEiyKi1JmXNh2IwU3LivYB3RKyWTSNjTzIMkIZegfuHHZnd/gxoUibt2682/MtCo+DwROzrmX5Bw34kwqy3o1MnPzC4tL2eXcyura+oa5udWQYSwIrZOQh6LlYkk5C2hdMcVpKxIU+y6nTXd4mvrNSyokC4MLNYpox8f9gPUYwUpLXfPASVzk+DiSKkS4gMjnxS0gh3uhksgZ57pm3ipWSuVy5Rj9JnbRmiJf3Z1MbgCg1jVfHC8ksU8DRTiWsm1bkeokWChGOB3nnFjSCJMh7tO2pgH2qewk0zxjtK8VD/VCoU+g0FT9upFgX8qR7+pJH6uB/Oml4l9eO1a9cidhQRQrGpDZQ72YIx03LQd5TFCi+EgTTATTf0VkgAUmSleYlvCRFP1PGkdF2yra57qNE5ghCzuwB4dgQwmqcAY1qAOBK7iFe3gwro0749F4mo1mjPedbfgG4/kNNOqduA==</latexit><latexit sha1_base64="f+favxxu8FcopNxNN2gP3rsZ8yU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7ruZD12OEqliiMoQf178MnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZInn30=</latexit><latexit sha1_base64="f+favxxu8FcopNxNN2gP3rsZ8yU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7ruZD12OEqliiMoQf178MnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZInn30=</latexit><latexit sha1_base64="9IzG5xCESr5mu8279n94muQyH4w=">AAACD3icdVBLSwMxGMz6rPW16tFLsCgeStn1YNuLFLx4rGAf0F1KNpttQ7PJkmSFsvQfePGvePGgiFev3vw3ZtsqPgcCk5nvI5kJEkaVdpw3a2FxaXlltbBWXN/Y3Nq2d3bbSqQSkxYWTMhugBRhlJOWppqRbiIJigNGOsHoPPc710QqKviVHifEj9GA04hipI3Ut4+8LIBejBKlBURliD8vQRl6LBRaQW9S7Nslp1Kv1mr1U/ibuBVnihKYo9m3X71Q4DQmXGOGlOq5TqL9DElNMSOTopcqkiA8QgPSM5SjmCg/m+aZwEOjhDAS0hyu4VT9upGhWKlxHJjJGOmh+unl4l9eL9VRzc8oT1JNOJ49FKUMmrh5OTCkkmDNxoYgLKn5K8RDJBHWpsK8hI+k8H/SPqm4TsW9dEqNs3kdBbAPDsAxcEEVNMAFaIIWwOAG3IEH8GjdWvfWk/U8G12w5jt74Busl3dBGJuI</latexit>
Encryption =
Decryption =
Keys:
12. 1. Introduction
Cipher textPlain text
encryption
decryption
“the cat sat on the mat” “uif dbu tbu po uif nbu”
1. Choose algorithm
2. Choose key
1. Deduce algorithm
2. Deduce key
Encryption: Decryption:
Encryption & decryption
“Mono-Alphabetic Substitution Cipher” (MASC)
Replace each plain text letter with a single, fixed cipher text letter.
Algorithm:
{a 7! b, b 7! c, . . .}<latexit sha1_base64="v4rjKncKUxiOht1plgEILCpWNAA=">AAACD3icdVDLSgMxFL1TX7W+Rl0KEiyKi1JmXNh2IwU3LivYB3RKyWTSNjTzIMkIZegfuHHZnd/gxoUibt2682/MtCo+DwROzrmX5Bw34kwqy3o1MnPzC4tL2eXcyura+oa5udWQYSwIrZOQh6LlYkk5C2hdMcVpKxIU+y6nTXd4mvrNSyokC4MLNYpox8f9gPUYwUpLXfPASTByfBxJFSK3gNzPCykgh3uhksgZ57pm3ipWSuVy5Rj9JnbRmiJf3Z1MbgCg1jVfHC8ksU8DRTiWsm1bkeokWChGOB3nnFjSCJMh7tO2pgH2qewk0zxjtK8VD/VCoU+g0FT9upFgX8qR7+pJH6uB/Oml4l9eO1a9cidhQRQrGpDZQ72YIx03LQd5TFCi+EgTTATTf0VkgAUmSleYlvCRFP1PGkdF2yra57qNE5ghCzuwB4dgQwmqcAY1qAOBK7iFe3gwro0749F4mo1mjPedbfgG4/kNNNaduA==</latexit><latexit sha1_base64="EL+Q1x+C71y+qzEf13d7koRz6BU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7rsZgi5HiVQx9MvQ/7zgMnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZITn30=</latexit><latexit sha1_base64="EL+Q1x+C71y+qzEf13d7koRz6BU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7rsZgi5HiVQx9MvQ/7zgMnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZITn30=</latexit><latexit sha1_base64="+qXmXDvbsp9dxNODp3hOJ51qX74=">AAACD3icdVBLSwMxGMz6rPW16tFLsCgeStn1YNuLFLx4rGAf0F1KNpttQ7PJkmSFsvQfePGvePGgiFev3vw3ZtsqPgcCk5nvI5kJEkaVdpw3a2FxaXlltbBWXN/Y3Nq2d3bbSqQSkxYWTMhugBRhlJOWppqRbiIJigNGOsHoPPc710QqKviVHifEj9GA04hipI3Ut4+8DEEvRonSAgZlGHxecBl6LBRaQW9S7Nslp1Kv1mr1U/ibuBVnihKYo9m3X71Q4DQmXGOGlOq5TqL9DElNMSOTopcqkiA8QgPSM5SjmCg/m+aZwEOjhDAS0hyu4VT9upGhWKlxHJjJGOmh+unl4l9eL9VRzc8oT1JNOJ49FKUMmrh5OTCkkmDNxoYgLKn5K8RDJBHWpsK8hI+k8H/SPqm4TsW9dEqNs3kdBbAPDsAxcEEVNMAFaIIWwOAG3IEH8GjdWvfWk/U8G12w5jt74Busl3dBBJuI</latexit>
{b 7! a, c 7! b, . . .}<latexit sha1_base64="5hczuU3PZbTCk1ak6zzIIIj/v8M=">AAACD3icdVDLSgMxFL1TX7W+Rl0KEiyKi1JmXNh2IwU3LivYB3RKyWTSNjTzIMkIZegfuHHZnd/gxoUibt2682/MtCo+DwROzrmX5Bw34kwqy3o1MnPzC4tL2eXcyura+oa5udWQYSwIrZOQh6LlYkk5C2hdMcVpKxIU+y6nTXd4mvrNSyokC4MLNYpox8f9gPUYwUpLXfPASVzk+DiSKkS4gMjnxS0gh3uhksgZ57pm3ipWSuVy5Rj9JnbRmiJf3Z1MbgCg1jVfHC8ksU8DRTiWsm1bkeokWChGOB3nnFjSCJMh7tO2pgH2qewk0zxjtK8VD/VCoU+g0FT9upFgX8qR7+pJH6uB/Oml4l9eO1a9cidhQRQrGpDZQ72YIx03LQd5TFCi+EgTTATTf0VkgAUmSleYlvCRFP1PGkdF2yra57qNE5ghCzuwB4dgQwmqcAY1qAOBK7iFe3gwro0749F4mo1mjPedbfgG4/kNNOqduA==</latexit><latexit sha1_base64="f+favxxu8FcopNxNN2gP3rsZ8yU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7ruZD12OEqliiMoQf178MnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZInn30=</latexit><latexit sha1_base64="f+favxxu8FcopNxNN2gP3rsZ8yU=">AAACD3icdVDNS8MwHE39nPOr6lGQ4FA8jNJ6cNtFBl48TnAfsJaRpukWlrQlSYVR9h948ah/hhcPinj16s3/xnRT8fNB4OW934/kPT9hVCrbfjVmZufmFxYLS8XlldW1dXNjsyXjVGDSxDGLRcdHkjAakaaiipFOIgjiPiNtf3iS++0LIiSNo3M1SojHUT+iIcVIaaln7ruZD12OEqliiMoQf178MnRZECsJ3XGxZ5Zsq1apVmtH8DdxLHuCUn3nOsdNo2e+uEGMU04ihRmSsuvYifIyJBTFjIyLbipJgvAQ9UlX0whxIr1skmcM97QSwDAW+kQKTtSvGxniUo64ryc5UgP508vFv7xuqsKql9EoSRWJ8PShMGVQx83LgQEVBCs20gRhQfVfIR4ggbDSFeYlfCSF/5PWoeXYlnOm2zgGUxTANtgFB8ABFVAHp6ABmgCDS3AL7sGDcWXcGY/G03R0xnjf2QLfYDy/AZInn30=</latexit><latexit sha1_base64="9IzG5xCESr5mu8279n94muQyH4w=">AAACD3icdVBLSwMxGMz6rPW16tFLsCgeStn1YNuLFLx4rGAf0F1KNpttQ7PJkmSFsvQfePGvePGgiFev3vw3ZtsqPgcCk5nvI5kJEkaVdpw3a2FxaXlltbBWXN/Y3Nq2d3bbSqQSkxYWTMhugBRhlJOWppqRbiIJigNGOsHoPPc710QqKviVHifEj9GA04hipI3Ut4+8LIBejBKlBURliD8vQRl6LBRaQW9S7Nslp1Kv1mr1U/ibuBVnihKYo9m3X71Q4DQmXGOGlOq5TqL9DElNMSOTopcqkiA8QgPSM5SjmCg/m+aZwEOjhDAS0hyu4VT9upGhWKlxHJjJGOmh+unl4l9eL9VRzc8oT1JNOJ49FKUMmrh5OTCkkmDNxoYgLKn5K8RDJBHWpsK8hI+k8H/SPqm4TsW9dEqNs3kdBbAPDsAxcEEVNMAFaIIWwOAG3IEH8GjdWvfWk/U8G12w5jt74Busl3dBGJuI</latexit>
Encryption =
Decryption =
Keys:
13. A “Mono-Alphabetic Substitution Cipher” (MASC) means:
Replace each plain text letter with a single, fixed cipher text letter.
Important
“the cat sat on the mat” “uif dbu tbu po uif nbu”
From now on: I only talk about MASCs.
16. 2. Framing the problem
1. We know cipher text is
MASC-encrypted
Assumptions
17. 2. Framing the problem
2. We have “enough” cipher text
1. We know cipher text is
MASC-encrypted
Assumptions
18. 2. Framing the problem
2. We have “enough” cipher text
3. Punctuation stripped, encryption
preserves spaces
1. We know cipher text is
MASC-encrypted
Assumptions
19. 2. Framing the problem
2. We have “enough” cipher text
3. Punctuation stripped, encryption
preserves spaces
1. We know cipher text is
MASC-encrypted
4. We know, & have access to
text from, the source language
Assumptions
20. 2. Framing the problem
2. We have “enough” cipher text
3. Punctuation stripped, encryption
preserves spaces
1. We know cipher text is
MASC-encrypted
4. We know, & have access to
text from, the source language
Assumptions Consequences
21. 2. Framing the problem
2. We have “enough” cipher text
3. Punctuation stripped, encryption
preserves spaces
1. We know cipher text is
MASC-encrypted
4. We know, & have access to
text from, the source language
1. and 2. make problem feasible
Assumptions Consequences
22. 2. Framing the problem
2. We have “enough” cipher text
3. Punctuation stripped, encryption
preserves spaces
1. We know cipher text is
MASC-encrypted
4. We know, & have access to
text from, the source language
1. and 2. make problem feasible
3. means we can use statistics on
character sequences
Assumptions Consequences
23. 2. Framing the problem
2. We have “enough” cipher text
3. Punctuation stripped, encryption
preserves spaces
1. We know cipher text is
MASC-encrypted
4. We know, & have access to
text from, the source language
1. and 2. make problem feasible
3. means we can use statistics on
character sequences
4. means we can use ML
on “training text”.
Assumptions Consequences
27. a b dc
a b dc
Permutations
Permutation: A rearrangement of distinct objects (for us, letters)
arrow diagramarrow diagram
Different notation
Formally: one-to-one map from a finite set to itself
28. {a: b, b: c, c: a, d: d}
a b dc
a b dc
arrow diagram
Permutations
Formally: one-to-one map from a finite set to itself
arrow diagram
Different notation
Permutation: A rearrangement of distinct objects (for us, letters)
dictionary
29. Formally: one-to-one map from a finite set to itself
{a: b, b: c, c: a, d: d}
dictionary
a b dc
a b dc
arrow diagram
Different notation
cycles
(abc)(d) = (abc)
Permutations
Permutation: A rearrangement of distinct objects (for us, letters)
30. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
31. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
“the cat sat on the mat” “⧫︎♒♏ ♍♋⧫︎ ⬧♋⧫︎ □︎■︎ ⧫︎♒♏ ❍♋⧫︎”!<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
32. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
“the cat sat on the mat” “⧫︎♒♏ ♍♋⧫︎ ⬧♋⧫︎ □︎■︎ ⧫︎♒♏ ❍♋⧫︎”!<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
However, MASC encryption means plain- and cipher text alphabets
correspond one-to-one:
33. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
“the cat sat on the mat” “⧫︎♒♏ ♍♋⧫︎ ⬧♋⧫︎ □︎■︎ ⧫︎♒♏ ❍♋⧫︎”!<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
However, MASC encryption means plain- and cipher text alphabets
correspond one-to-one:
⧫︎ ♒♏ ♍♋ ⬧ □︎ ■︎❍
ca e m n o s th
34. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
“the cat sat on the mat” “⧫︎♒♏ ♍♋⧫︎ ⬧♋⧫︎ □︎■︎ ⧫︎♒♏ ❍♋⧫︎”!<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
However, MASC encryption means plain- and cipher text alphabets
correspond one-to-one:
⧫︎ ♒♏ ♍♋ ⬧ □︎ ■︎❍
ca e m n o s th
“the cat sat on the mat” !<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
“osc heo meo nt oso aeo”
35. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
“the cat sat on the mat” “⧫︎♒♏ ♍♋⧫︎ ⬧♋⧫︎ □︎■︎ ⧫︎♒♏ ❍♋⧫︎”!<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
However, MASC encryption means plain- and cipher text alphabets
correspond one-to-one:
⧫︎ ♒♏ ♍♋ ⬧ □︎ ■︎❍
ca e m n o s th
“the cat sat on the mat” !<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
“osc heo meo nt oso aeo”
Can assume cipher text and plain text have same alphabet
36. cipher text alphabet plain text alphabet6=<latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit><latexit sha1_base64="oeVIw5oD/ZHewQ4HSdkzrUVYJ9Y=">AAAB63icdVDLSsNAFJ3UV62vqks3g0VwFRL7SJYFXbisYB/QhjKZTtqhM5M4MxFK6C+4caGIW3/InX/jpK2gogcuHM65l3vvCRNGlXacD6uwtr6xuVXcLu3s7u0flA+POipOJSZtHLNY9kKkCKOCtDXVjPQSSRAPGemG08vc794TqWgsbvUsIQFHY0EjipHOpYEgd8NyxbF9z69VXejYda9R83Li1ht+owpd21mgAlZoDcvvg1GMU06Exgwp1XedRAcZkppiRualQapIgvAUjUnfUIE4UUG2uHUOz4wyglEsTQkNF+r3iQxxpWY8NJ0c6Yn67eXiX14/1ZEfZFQkqSYCLxdFKYM6hvnjcEQlwZrNDEFYUnMrxBMkEdYmnpIJ4etT+D/pXNiuSeamVmlereIoghNwCs6BCzzQBNegBdoAgwl4AE/g2eLWo/VivS5bC9Zq5hj8gPX2CZsXjp4=</latexit>
“the cat sat on the mat” “⧫︎♒♏ ♍♋⧫︎ ⬧♋⧫︎ □︎■︎ ⧫︎♒♏ ❍♋⧫︎”!<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
However, MASC encryption means plain- and cipher text alphabets
correspond one-to-one:
⧫︎ ♒♏ ♍♋ ⬧ □︎ ■︎❍
ca e m n o s th
“the cat sat on the mat” !<latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit><latexit sha1_base64="VUwNDctZDZEgUdxnnuk75cyH/NM=">AAAB/HicdVDLSgMxFM34rPVV7dJNsAiuhowK2l1BFy4r2Ae0Q8mkmTY0kwzJHaWU+ituXCji1g9x59+YPgSfBy4czrmXe++JUiksEPLuLSwuLa+s5tby6xubW9uFnd261ZlhvMa01KYZUculULwGAiRvpobTJJK8EQ3OJ37jhhsrtLqGYcrDhPaUiAWj4KROodiWWvUkj8GIXh+oMfq2UygRv1w+JoTg3yTwyRQlNEe1U3hrdzXLEq6ASWptKyAphCNqQDDJx/l2ZnlK2YD2eMtRRRNuw9H0+DE+cEoXx9q4UoCn6teJEU2sHSaR60wo9O1PbyL+5bUyiM/CkVBpBlyx2aI4kxg0niSBu8JwBnLoCGVGuFsx61NDGbi88i6Ez0/x/6R+5AfED65OSpWLeRw5tIf20SEK0CmqoEtURTXE0BDdo0f05N15D96z9zJrXfDmM0X0Dd7rBwWylao=</latexit>
“osc heo meo nt oso aeo”
Can assume cipher text and plain text have same alphabet
Hence: Decryption key is a permutation
37. Given space-preserved, MASC-encrypted cipher text of known
source language with alphabet , and training sample of text
from , find the permutation of that is the decryption key.
T<latexit sha1_base64="k4E3SZe62TFdN220BuJbJgfuB6E=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIvHBLJBMoSeTk3Spmehu0cIQ77AiwdFvPpJ3vwbO4vg+qDg8V4VVfX8RHClHefdyq2srq1v5DcLW9s7u3vF/YOWilPJsMliEcuOTxUKHmFTcy2wk0ikoS+w7Y+vZ377DqXicdTQkwS9kA4jHnBGtZHqjX6x5NiXlXO3Uia/iWs7c5RgiVq/+NYbxCwNMdJMUKW6rpNoL6NScyZwWuilChPKxnSIXUMjGqLysvmhU3JilAEJYmkq0mSufp3IaKjUJPRNZ0j1SP30ZuJfXjfVQcXLeJSkGiO2WBSkguiYzL4mAy6RaTExhDLJza2EjaikTJtsCiaEz0/J/6R1ZruO7dbLperVMo48HMExnIILF1CFG6hBExgg3MMjPFm31oP1bL0sWnPWcuYQvsF6/QBK/41A</latexit><latexit sha1_base64="k4E3SZe62TFdN220BuJbJgfuB6E=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIvHBLJBMoSeTk3Spmehu0cIQ77AiwdFvPpJ3vwbO4vg+qDg8V4VVfX8RHClHefdyq2srq1v5DcLW9s7u3vF/YOWilPJsMliEcuOTxUKHmFTcy2wk0ikoS+w7Y+vZ377DqXicdTQkwS9kA4jHnBGtZHqjX6x5NiXlXO3Uia/iWs7c5RgiVq/+NYbxCwNMdJMUKW6rpNoL6NScyZwWuilChPKxnSIXUMjGqLysvmhU3JilAEJYmkq0mSufp3IaKjUJPRNZ0j1SP30ZuJfXjfVQcXLeJSkGiO2WBSkguiYzL4mAy6RaTExhDLJza2EjaikTJtsCiaEz0/J/6R1ZruO7dbLperVMo48HMExnIILF1CFG6hBExgg3MMjPFm31oP1bL0sWnPWcuYQvsF6/QBK/41A</latexit><latexit sha1_base64="k4E3SZe62TFdN220BuJbJgfuB6E=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIvHBLJBMoSeTk3Spmehu0cIQ77AiwdFvPpJ3vwbO4vg+qDg8V4VVfX8RHClHefdyq2srq1v5DcLW9s7u3vF/YOWilPJsMliEcuOTxUKHmFTcy2wk0ikoS+w7Y+vZ377DqXicdTQkwS9kA4jHnBGtZHqjX6x5NiXlXO3Uia/iWs7c5RgiVq/+NYbxCwNMdJMUKW6rpNoL6NScyZwWuilChPKxnSIXUMjGqLysvmhU3JilAEJYmkq0mSufp3IaKjUJPRNZ0j1SP30ZuJfXjfVQcXLeJSkGiO2WBSkguiYzL4mAy6RaTExhDLJza2EjaikTJtsCiaEz0/J/6R1ZruO7dbLperVMo48HMExnIILF1CFG6hBExgg3MMjPFm31oP1bL0sWnPWcuYQvsF6/QBK/41A</latexit><latexit sha1_base64="k4E3SZe62TFdN220BuJbJgfuB6E=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIvHBLJBMoSeTk3Spmehu0cIQ77AiwdFvPpJ3vwbO4vg+qDg8V4VVfX8RHClHefdyq2srq1v5DcLW9s7u3vF/YOWilPJsMliEcuOTxUKHmFTcy2wk0ikoS+w7Y+vZ377DqXicdTQkwS9kA4jHnBGtZHqjX6x5NiXlXO3Uia/iWs7c5RgiVq/+NYbxCwNMdJMUKW6rpNoL6NScyZwWuilChPKxnSIXUMjGqLysvmhU3JilAEJYmkq0mSufp3IaKjUJPRNZ0j1SP30ZuJfXjfVQcXLeJSkGiO2WBSkguiYzL4mAy6RaTExhDLJza2EjaikTJtsCiaEz0/J/6R1ZruO7dbLperVMo48HMExnIILF1CFG6hBExgg3MMjPFm31oP1bL0sWnPWcuYQvsF6/QBK/41A</latexit>
C<latexit sha1_base64="FLQ6mC3L14xJUkE1F1FCQkg4Urw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJce+rJy7lTL5TVzbmaMES9T7xbfeIGZpiJFmgirVdZ1EexmVmjOB00IvVZhQNqZD7Boa0RCVl80PnZITowxIEEtTkSZz9etERkOlJqFvOkOqR+qnNxP/8rqpDipexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietM9t1bLdRLlWvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wcxO40v</latexit><latexit sha1_base64="FLQ6mC3L14xJUkE1F1FCQkg4Urw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJce+rJy7lTL5TVzbmaMES9T7xbfeIGZpiJFmgirVdZ1EexmVmjOB00IvVZhQNqZD7Boa0RCVl80PnZITowxIEEtTkSZz9etERkOlJqFvOkOqR+qnNxP/8rqpDipexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietM9t1bLdRLlWvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wcxO40v</latexit><latexit sha1_base64="FLQ6mC3L14xJUkE1F1FCQkg4Urw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJce+rJy7lTL5TVzbmaMES9T7xbfeIGZpiJFmgirVdZ1EexmVmjOB00IvVZhQNqZD7Boa0RCVl80PnZITowxIEEtTkSZz9etERkOlJqFvOkOqR+qnNxP/8rqpDipexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietM9t1bLdRLlWvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wcxO40v</latexit><latexit sha1_base64="FLQ6mC3L14xJUkE1F1FCQkg4Urw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJce+rJy7lTL5TVzbmaMES9T7xbfeIGZpiJFmgirVdZ1EexmVmjOB00IvVZhQNqZD7Boa0RCVl80PnZITowxIEEtTkSZz9etERkOlJqFvOkOqR+qnNxP/8rqpDipexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietM9t1bLdRLlWvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wcxO40v</latexit>
A<latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit><latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit><latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit><latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit>
<latexit sha1_base64="zNdbNl1xwsezR0NQfzTVQ1uVR0A=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapiRonUjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr888ppWCmj3yT0gxlKsECtW3zr9CTJUios4diYdhgoG42xtoxwOil0MkMVJkPcp21HBU6picazayfoyCk9lEjtSlg0U79OjHFqzCiNXWeK7cD89KbiX147s0klGjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SOPHDwA+vy6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBMYKPhw==</latexit><latexit sha1_base64="zNdbNl1xwsezR0NQfzTVQ1uVR0A=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapiRonUjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr888ppWCmj3yT0gxlKsECtW3zr9CTJUios4diYdhgoG42xtoxwOil0MkMVJkPcp21HBU6picazayfoyCk9lEjtSlg0U79OjHFqzCiNXWeK7cD89KbiX147s0klGjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SOPHDwA+vy6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBMYKPhw==</latexit><latexit sha1_base64="zNdbNl1xwsezR0NQfzTVQ1uVR0A=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapiRonUjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr888ppWCmj3yT0gxlKsECtW3zr9CTJUios4diYdhgoG42xtoxwOil0MkMVJkPcp21HBU6picazayfoyCk9lEjtSlg0U79OjHFqzCiNXWeK7cD89KbiX147s0klGjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SOPHDwA+vy6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBMYKPhw==</latexit><latexit sha1_base64="zNdbNl1xwsezR0NQfzTVQ1uVR0A=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapiRonUjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr888ppWCmj3yT0gxlKsECtW3zr9CTJUios4diYdhgoG42xtoxwOil0MkMVJkPcp21HBU6picazayfoyCk9lEjtSlg0U79OjHFqzCiNXWeK7cD89KbiX147s0klGjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SOPHDwA+vy6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBMYKPhw==</latexit>
L<latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit><latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit><latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit><latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit>
L<latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit><latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit><latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit><latexit sha1_base64="dMC2sigCJfmXZcfWdW2STjaMpug=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIwIsHDwmYBZIh9HRqkjY9C909QhjyBV48KOLVT/Lm39hZBNcHBY/3qqiq5yeCK+0471ZuaXlldS2/XtjY3NreKe7uNVWcSoYNFotYtn2qUPAIG5prge1EIg19gS1/dDn1W3coFY+jGz1O0AvpIOIBZ1QbqX7dK5Yc+7xy6lbK5DdxbWeGEixQ6xXfuv2YpSFGmgmqVMd1Eu1lVGrOBE4K3VRhQtmIDrBjaERDVF42O3RCjozSJ0EsTUWazNSvExkNlRqHvukMqR6qn95U/MvrpDqoeBmPklRjxOaLglQQHZPp16TPJTItxoZQJrm5lbAhlZRpk03BhPD5KfmfNE9s17HderlUvVjEkYcDOIRjcOEMqnAFNWgAA4R7eIQn69Z6sJ6tl3lrzlrM7MM3WK8fPt+NOA==</latexit>
A<latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit><latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit><latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit><latexit sha1_base64="bKCw6X9Y2pY/gNh+XpauJ0GZmpw=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmYkaLxIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS459Xjl1K2Xym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHVS8jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aJ7br2G69XKpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8uM40t</latexit>
Task
Notation
If is any text and is a permutation of , then means the
text obtained by applying to .
(C)<latexit sha1_base64="tbn9sCdQ/7rgpmPnhzcEJeaRml4=">AAAB8HicdVDJSgNBEK1xjXGLevTSGIR4GWaioLlIIBePEcwiyRB6Oj1Jk+6eobtHCEO+wosHRbz6Od78GzuL4Pqg4PFeFVX1woQzbTzv3VlaXlldW89t5De3tnd2C3v7TR2nitAGiXms2iHWlDNJG4YZTtuJoliEnLbCUW3qt+6o0iyWN2ac0EDggWQRI9hY6bY7wkmCS7WTXqHouZVK+dSvoN/Ed70ZirBAvVd46/ZjkgoqDeFY647vJSbIsDKMcDrJd1NNE0xGeEA7lkosqA6y2cETdGyVPopiZUsaNFO/TmRYaD0Woe0U2Az1T28q/uV1UhNdBBmTSWqoJPNFUcqRidH0e9RnihLDx5Zgopi9FZEhVpgYm1HehvD5KfqfNMuu77n+9VmxermIIweHcAQl8OEcqnAFdWgAAQH38AhPjnIenGfnZd665CxmDuAbnNcPe26QMA==</latexit><latexit sha1_base64="tbn9sCdQ/7rgpmPnhzcEJeaRml4=">AAAB8HicdVDJSgNBEK1xjXGLevTSGIR4GWaioLlIIBePEcwiyRB6Oj1Jk+6eobtHCEO+wosHRbz6Od78GzuL4Pqg4PFeFVX1woQzbTzv3VlaXlldW89t5De3tnd2C3v7TR2nitAGiXms2iHWlDNJG4YZTtuJoliEnLbCUW3qt+6o0iyWN2ac0EDggWQRI9hY6bY7wkmCS7WTXqHouZVK+dSvoN/Ed70ZirBAvVd46/ZjkgoqDeFY647vJSbIsDKMcDrJd1NNE0xGeEA7lkosqA6y2cETdGyVPopiZUsaNFO/TmRYaD0Woe0U2Az1T28q/uV1UhNdBBmTSWqoJPNFUcqRidH0e9RnihLDx5Zgopi9FZEhVpgYm1HehvD5KfqfNMuu77n+9VmxermIIweHcAQl8OEcqnAFdWgAAQH38AhPjnIenGfnZd665CxmDuAbnNcPe26QMA==</latexit><latexit sha1_base64="tbn9sCdQ/7rgpmPnhzcEJeaRml4=">AAAB8HicdVDJSgNBEK1xjXGLevTSGIR4GWaioLlIIBePEcwiyRB6Oj1Jk+6eobtHCEO+wosHRbz6Od78GzuL4Pqg4PFeFVX1woQzbTzv3VlaXlldW89t5De3tnd2C3v7TR2nitAGiXms2iHWlDNJG4YZTtuJoliEnLbCUW3qt+6o0iyWN2ac0EDggWQRI9hY6bY7wkmCS7WTXqHouZVK+dSvoN/Ed70ZirBAvVd46/ZjkgoqDeFY647vJSbIsDKMcDrJd1NNE0xGeEA7lkosqA6y2cETdGyVPopiZUsaNFO/TmRYaD0Woe0U2Az1T28q/uV1UhNdBBmTSWqoJPNFUcqRidH0e9RnihLDx5Zgopi9FZEhVpgYm1HehvD5KfqfNMuu77n+9VmxermIIweHcAQl8OEcqnAFdWgAAQH38AhPjnIenGfnZd665CxmDuAbnNcPe26QMA==</latexit><latexit sha1_base64="tbn9sCdQ/7rgpmPnhzcEJeaRml4=">AAAB8HicdVDJSgNBEK1xjXGLevTSGIR4GWaioLlIIBePEcwiyRB6Oj1Jk+6eobtHCEO+wosHRbz6Od78GzuL4Pqg4PFeFVX1woQzbTzv3VlaXlldW89t5De3tnd2C3v7TR2nitAGiXms2iHWlDNJG4YZTtuJoliEnLbCUW3qt+6o0iyWN2ac0EDggWQRI9hY6bY7wkmCS7WTXqHouZVK+dSvoN/Ed70ZirBAvVd46/ZjkgoqDeFY647vJSbIsDKMcDrJd1NNE0xGeEA7lkosqA6y2cETdGyVPopiZUsaNFO/TmRYaD0Woe0U2Az1T28q/uV1UhNdBBmTSWqoJPNFUcqRidH0e9RnihLDx5Zgopi9FZEhVpgYm1HehvD5KfqfNMuu77n+9VmxermIIweHcAQl8OEcqnAFdWgAAQH38AhPjnIenGfnZd665CxmDuAbnNcPe26QMA==</latexit>
<latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit><latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit><latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit><latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit>
A<latexit sha1_base64="1Gli1Jl7O5WG/SIN1GE8lDn5sOo=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZRP3Ar5TVzbmaEEC9R6xbduP2ZpiJFmgirVcZ1EexmVmjOBk0I3VZhQNqID7Bga0RCVl80OnZAjo/RJEEtTkSYz9etERkOlxqFvOkOqh+qnNxX/8jqpDs69jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aZdt1bLd+WqpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8hIo0k</latexit><latexit sha1_base64="1Gli1Jl7O5WG/SIN1GE8lDn5sOo=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZRP3Ar5TVzbmaEEC9R6xbduP2ZpiJFmgirVcZ1EexmVmjOBk0I3VZhQNqID7Bga0RCVl80OnZAjo/RJEEtTkSYz9etERkOlxqFvOkOqh+qnNxX/8jqpDs69jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aZdt1bLd+WqpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8hIo0k</latexit><latexit sha1_base64="1Gli1Jl7O5WG/SIN1GE8lDn5sOo=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZRP3Ar5TVzbmaEEC9R6xbduP2ZpiJFmgirVcZ1EexmVmjOBk0I3VZhQNqID7Bga0RCVl80OnZAjo/RJEEtTkSYz9etERkOlxqFvOkOqh+qnNxX/8jqpDs69jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aZdt1bLd+WqpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8hIo0k</latexit><latexit sha1_base64="1Gli1Jl7O5WG/SIN1GE8lDn5sOo=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZRP3Ar5TVzbmaEEC9R6xbduP2ZpiJFmgirVcZ1EexmVmjOBk0I3VZhQNqID7Bga0RCVl80OnZAjo/RJEEtTkSYz9etERkOlxqFvOkOqh+qnNxX/8jqpDs69jEdJqjFi80VBKoiOyfRr0ucSmRZjQyiT3NxK2JBKyrTJpmBC+PyU/E+aZdt1bLd+WqpeLOLIwwEcwjG4cAZVuIYaNIABwj08wpN1az1Yz9bLvDVnLWb24Rus1w8hIo0k</latexit>
C<latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="hP+6LrUf2d3tZaldqaQQvEKMXyw=">AAAB2XicbZDNSgMxFIXv1L86Vq1rN8EiuCozbnQpuHFZwbZCO5RM5k4bmskMyR2hDH0BF25EfC93vo3pz0JbDwQ+zknIvSculLQUBN9ebWd3b/+gfugfNfzjk9Nmo2fz0gjsilzl5jnmFpXU2CVJCp8LgzyLFfbj6f0i77+gsTLXTzQrMMr4WMtUCk7O6oyaraAdLMW2IVxDC9YaNb+GSS7KDDUJxa0dhEFBUcUNSaFw7g9LiwUXUz7GgUPNM7RRtRxzzi6dk7A0N+5oYkv394uKZ9bOstjdzDhN7Ga2MP/LBiWlt1EldVESarH6KC0Vo5wtdmaJNChIzRxwYaSblYkJN1yQa8Z3HYSbG29D77odBu3wMYA6nMMFXEEIN3AHD9CBLghI4BXevYn35n2suqp569LO4I+8zx84xIo4</latexit><latexit sha1_base64="oGqThvvwlbtJIBi4VflGTZ7jnbE=">AAAB3XicbZBLSwMxFIXv1FetVatbN8EiuCozbnQpdOOyBfuAtpRMeqeNzWSG5I5Qhv4CNy4U8W+589+YPhbaeiDwcU5C7j1hqqQl3//2Cju7e/sHxcPSUfn45LRyVm7bJDMCWyJRiemG3KKSGlskSWE3NcjjUGEnnNYXeecZjZWJfqRZioOYj7WMpODkrGZ9WKn6NX8ptg3BGqqwVmNY+eqPEpHFqEkobm0v8FMa5NyQFArnpX5mMeViysfYc6h5jHaQLwedsyvnjFiUGHc0saX7+0XOY2tncehuxpwmdjNbmP9lvYyiu0EudZoRarH6KMoUo4QttmYjaVCQmjngwkg3KxMTbrgg103JlRBsrrwN7Zta4NeCpg9FuIBLuIYAbuEeHqABLRCA8AJv8O49ea/ex6qugrfu7Rz+yPv8AYOGi3Q=</latexit><latexit sha1_base64="K4+fD0WP0t1Ld50UrpQ/JzE+l/I=">AAAB3XicdVDLSgNBEOyNrxijRq9eBoPgadmNB81NyMVjAuYByRJmJ73JmNnZZWZWCEu+wIsHRfwtb/6Nk4fgs6ChqOqmuytMBdfG896dwsbm1vZOcbe0V94/OKwclTs6yRTDNktEonoh1Si4xLbhRmAvVUjjUGA3nDYWfvceleaJvDWzFIOYjiWPOKPGSq3GsFL13Hq9duHXyW/iu94SVVijOay8DUYJy2KUhgmqdd/3UhPkVBnOBM5Lg0xjStmUjrFvqaQx6iBfHjonZ1YZkShRtqQhS/XrRE5jrWdxaDtjaib6p7cQ//L6mYmugpzLNDMo2WpRlAliErL4moy4QmbEzBLKFLe3EjahijJjsynZED4/Jf+TTs31PddveVCEEziFc/DhEq7hBprQBgYID/AEz86d8+i8rOIqOOvcjuEbnNcPDr6L1w==</latexit><latexit sha1_base64="7/Gi8PqVrOucwOrOFxglnS6+U+I=">AAAB6HicdVDJSgNBEK1xjXGLevTSGARPw0w8aC4SyMVjAmaBZAg9nZqkTU/P0N0jhJAv8OJBEa9+kjf/xs4iuD4oeLxXRVW9MBVcG897d1ZW19Y3NnNb+e2d3b39wsFhUyeZYthgiUhUO6QaBZfYMNwIbKcKaRwKbIWj6sxv3aHSPJE3ZpxiENOB5BFn1FipXu0Vip5bLpfO/TL5TXzXm6MIS9R6hbduP2FZjNIwQbXu+F5qgglVhjOB03w305hSNqID7FgqaYw6mMwPnZJTq/RJlChb0pC5+nViQmOtx3FoO2NqhvqnNxP/8jqZiS6DCZdpZlCyxaIoE8QkZPY16XOFzIixJZQpbm8lbEgVZcZmk7chfH5K/ifNkut7rl/3ipWrZRw5OIYTOAMfLqAC11CDBjBAuIdHeHJunQfn2XlZtK44y5kj+Abn9QMi6o0i</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit>
C<latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="hP+6LrUf2d3tZaldqaQQvEKMXyw=">AAAB2XicbZDNSgMxFIXv1L86Vq1rN8EiuCozbnQpuHFZwbZCO5RM5k4bmskMyR2hDH0BF25EfC93vo3pz0JbDwQ+zknIvSculLQUBN9ebWd3b/+gfugfNfzjk9Nmo2fz0gjsilzl5jnmFpXU2CVJCp8LgzyLFfbj6f0i77+gsTLXTzQrMMr4WMtUCk7O6oyaraAdLMW2IVxDC9YaNb+GSS7KDDUJxa0dhEFBUcUNSaFw7g9LiwUXUz7GgUPNM7RRtRxzzi6dk7A0N+5oYkv394uKZ9bOstjdzDhN7Ga2MP/LBiWlt1EldVESarH6KC0Vo5wtdmaJNChIzRxwYaSblYkJN1yQa8Z3HYSbG29D77odBu3wMYA6nMMFXEEIN3AHD9CBLghI4BXevYn35n2suqp569LO4I+8zx84xIo4</latexit><latexit sha1_base64="oGqThvvwlbtJIBi4VflGTZ7jnbE=">AAAB3XicbZBLSwMxFIXv1FetVatbN8EiuCozbnQpdOOyBfuAtpRMeqeNzWSG5I5Qhv4CNy4U8W+589+YPhbaeiDwcU5C7j1hqqQl3//2Cju7e/sHxcPSUfn45LRyVm7bJDMCWyJRiemG3KKSGlskSWE3NcjjUGEnnNYXeecZjZWJfqRZioOYj7WMpODkrGZ9WKn6NX8ptg3BGqqwVmNY+eqPEpHFqEkobm0v8FMa5NyQFArnpX5mMeViysfYc6h5jHaQLwedsyvnjFiUGHc0saX7+0XOY2tncehuxpwmdjNbmP9lvYyiu0EudZoRarH6KMoUo4QttmYjaVCQmjngwkg3KxMTbrgg103JlRBsrrwN7Zta4NeCpg9FuIBLuIYAbuEeHqABLRCA8AJv8O49ea/ex6qugrfu7Rz+yPv8AYOGi3Q=</latexit><latexit sha1_base64="K4+fD0WP0t1Ld50UrpQ/JzE+l/I=">AAAB3XicdVDLSgNBEOyNrxijRq9eBoPgadmNB81NyMVjAuYByRJmJ73JmNnZZWZWCEu+wIsHRfwtb/6Nk4fgs6ChqOqmuytMBdfG896dwsbm1vZOcbe0V94/OKwclTs6yRTDNktEonoh1Si4xLbhRmAvVUjjUGA3nDYWfvceleaJvDWzFIOYjiWPOKPGSq3GsFL13Hq9duHXyW/iu94SVVijOay8DUYJy2KUhgmqdd/3UhPkVBnOBM5Lg0xjStmUjrFvqaQx6iBfHjonZ1YZkShRtqQhS/XrRE5jrWdxaDtjaib6p7cQ//L6mYmugpzLNDMo2WpRlAliErL4moy4QmbEzBLKFLe3EjahijJjsynZED4/Jf+TTs31PddveVCEEziFc/DhEq7hBprQBgYID/AEz86d8+i8rOIqOOvcjuEbnNcPDr6L1w==</latexit><latexit sha1_base64="7/Gi8PqVrOucwOrOFxglnS6+U+I=">AAAB6HicdVDJSgNBEK1xjXGLevTSGARPw0w8aC4SyMVjAmaBZAg9nZqkTU/P0N0jhJAv8OJBEa9+kjf/xs4iuD4oeLxXRVW9MBVcG897d1ZW19Y3NnNb+e2d3b39wsFhUyeZYthgiUhUO6QaBZfYMNwIbKcKaRwKbIWj6sxv3aHSPJE3ZpxiENOB5BFn1FipXu0Vip5bLpfO/TL5TXzXm6MIS9R6hbduP2FZjNIwQbXu+F5qgglVhjOB03w305hSNqID7FgqaYw6mMwPnZJTq/RJlChb0pC5+nViQmOtx3FoO2NqhvqnNxP/8jqZiS6DCZdpZlCyxaIoE8QkZPY16XOFzIixJZQpbm8lbEgVZcZmk7chfH5K/ifNkut7rl/3ipWrZRw5OIYTOAMfLqAC11CDBjBAuIdHeHJunQfn2XlZtK44y5kj+Abn9QMi6o0i</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit><latexit sha1_base64="VKx6lDX5UruQhHmuU9UvmKfsNo8=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmaioLlIIBePCZgFkiH0dGqSNj0L3T1CGPIFXjwo4tVP8ubf2FkE1wcFj/eqqKrnJ4Ir7TjvVm5ldW19I79Z2Nre2d0r7h+0VJxKhk0Wi1h2fKpQ8AibmmuBnUQiDX2BbX9cm/ntO5SKx9GNniTohXQY8YAzqo3UqPWLJceuVMpnboX8Jq7tzFGCJer94ltvELM0xEgzQZXquk6ivYxKzZnAaaGXKkwoG9Mhdg2NaIjKy+aHTsmJUQYkiKWpSJO5+nUio6FSk9A3nSHVI/XTm4l/ed1UB5dexqMk1RixxaIgFUTHZPY1GXCJTIuJIZRJbm4lbEQlZdpkUzAhfH5K/ietsu06tts4L1WvlnHk4QiO4RRcuIAqXEMdmsAA4R4e4cm6tR6sZ+tl0ZqzljOH8A3W6wckKo0m</latexit>
<latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit><latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit><latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit><latexit sha1_base64="FHil9HpP0U4E98tEQ0QU+4+pSuA=">AAAB7XicdVDLSgMxFL1TX7W+qi7dBIvgapipgnYjBTcuK9gHtEPJpJk2NpOEJCOU0n9w40IRt/6PO//G9CH4PHDhcM693HtPrDgzNgjevdzS8srqWn69sLG5tb1T3N1rGJlpQutEcqlbMTaUM0HrlllOW0pTnMacNuPh5dRv3lFtmBQ3dqRolOK+YAkj2Dqp0RlipXC3WAr8SqV8ElbQbxL6wQwlWKDWLb51epJkKRWWcGxMOwyUjcZYW0Y4nRQ6maEKkyHu07ajAqfUROPZtRN05JQeSqR2JSyaqV8nxjg1ZpTGrjPFdmB+elPxL6+d2eQ8GjOhMksFmS9KMo6sRNPXUY9pSiwfOYKJZu5WRAZYY2JdQAUXwuen6H/SKPth4IfXp6XqxSKOPBzAIRxDCGdQhSuoQR0I3MI9PMKTJ70H79l7mbfmvMXMPnyD9/oBJHGPfg==</latexit>
39. 3. Naive algorithm
A<latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit><latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit><latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit><latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit>
Iterate over all permutations of until we get the right answer.
Algorithm
40. 3. Naive algorithm
A<latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit><latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit><latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit><latexit sha1_base64="N+ImR/GzV2tF2To3J0P4l87wT6c=">AAAB6HicdVDJSgNBEK2JW4xb1KOXxiB4GmZEiblIxIvHBMwCyRB6OjVJm56F7h4hDPkCLx4U8eonefNv7CyC64OCx3tVVNXzE8GVdpx3K7e0vLK6ll8vbGxube8Ud/eaKk4lwwaLRSzbPlUoeIQNzbXAdiKRhr7Alj+6mvqtO5SKx9GNHifohXQQ8YAzqo1Uv+wVS45dqZw65TPym7i2M0MJFqj1im/dfszSECPNBFWq4zqJ9jIqNWcCJ4VuqjChbEQH2DE0oiEqL5sdOiFHRumTIJamIk1m6teJjIZKjUPfdIZUD9VPbyr+5XVSHZx7GY+SVGPE5ouCVBAdk+nXpM8lMi3GhlAmubmVsCGVlGmTTcGE8Pkp+Z80T2zXsd36aal6sYgjDwdwCMfgQhmqcA01aAADhHt4hCfr1nqwnq2XeWvOWszswzdYrx8lhI0n</latexit>
Iterate over all permutations of until we get the right answer.
1. Set := idA 2 Perm(A)<latexit sha1_base64="6FUOvOxNzPJS9bf6hxSU+MZCmO0=">AAACH3icdVBNSyNBEO3xa934sdE97qXZIOglzEhc1wVF2YvHLGxUyIRQ06lok+6eobtGNgzzT7z4V7x4WJHFm/9mOzGCnw8KHu9VUVUvyZR0FIb3wdT0zOzch/mPlYXFpeVP1ZXVI5fmVmBLpCq1Jwk4VNJgiyQpPMksgk4UHieDnyP/+Bytk6n5TcMMOxpOjexLAeSlbvVbPIAsA/5jl8eEf8ikVoMqZK/sFgclj6V5pjfR6nL9YKNbrYX1nZ1GuL3FX5OoHo5RYxM0u9W7uJeKXKMhocC5dhRm1CnAkhQKy0qcO8xADOAU254a0Og6xfi/kq95pcf7qfVliI/VpxMFaOeGOvGdGujMvfRG4lteO6f+904hTZYTGvGwqJ8rTikfhcV70qIgNfQEhJX+Vi7OwIIgH2nFh/D4KX+fHG3Wo7Ae/WrU9vcmccyzL+wrW2cR22b77JA1WYsJdsGu2F92E1wG18Ft8O+hdSqYzHxmzxDc/wfvKKOL</latexit><latexit sha1_base64="6FUOvOxNzPJS9bf6hxSU+MZCmO0=">AAACH3icdVBNSyNBEO3xa934sdE97qXZIOglzEhc1wVF2YvHLGxUyIRQ06lok+6eobtGNgzzT7z4V7x4WJHFm/9mOzGCnw8KHu9VUVUvyZR0FIb3wdT0zOzch/mPlYXFpeVP1ZXVI5fmVmBLpCq1Jwk4VNJgiyQpPMksgk4UHieDnyP/+Bytk6n5TcMMOxpOjexLAeSlbvVbPIAsA/5jl8eEf8ikVoMqZK/sFgclj6V5pjfR6nL9YKNbrYX1nZ1GuL3FX5OoHo5RYxM0u9W7uJeKXKMhocC5dhRm1CnAkhQKy0qcO8xADOAU254a0Og6xfi/kq95pcf7qfVliI/VpxMFaOeGOvGdGujMvfRG4lteO6f+904hTZYTGvGwqJ8rTikfhcV70qIgNfQEhJX+Vi7OwIIgH2nFh/D4KX+fHG3Wo7Ae/WrU9vcmccyzL+wrW2cR22b77JA1WYsJdsGu2F92E1wG18Ft8O+hdSqYzHxmzxDc/wfvKKOL</latexit><latexit sha1_base64="6FUOvOxNzPJS9bf6hxSU+MZCmO0=">AAACH3icdVBNSyNBEO3xa934sdE97qXZIOglzEhc1wVF2YvHLGxUyIRQ06lok+6eobtGNgzzT7z4V7x4WJHFm/9mOzGCnw8KHu9VUVUvyZR0FIb3wdT0zOzch/mPlYXFpeVP1ZXVI5fmVmBLpCq1Jwk4VNJgiyQpPMksgk4UHieDnyP/+Bytk6n5TcMMOxpOjexLAeSlbvVbPIAsA/5jl8eEf8ikVoMqZK/sFgclj6V5pjfR6nL9YKNbrYX1nZ1GuL3FX5OoHo5RYxM0u9W7uJeKXKMhocC5dhRm1CnAkhQKy0qcO8xADOAU254a0Og6xfi/kq95pcf7qfVliI/VpxMFaOeGOvGdGujMvfRG4lteO6f+904hTZYTGvGwqJ8rTikfhcV70qIgNfQEhJX+Vi7OwIIgH2nFh/D4KX+fHG3Wo7Ae/WrU9vcmccyzL+wrW2cR22b77JA1WYsJdsGu2F92E1wG18Ft8O+hdSqYzHxmzxDc/wfvKKOL</latexit><latexit sha1_base64="6FUOvOxNzPJS9bf6hxSU+MZCmO0=">AAACH3icdVBNSyNBEO3xa934sdE97qXZIOglzEhc1wVF2YvHLGxUyIRQ06lok+6eobtGNgzzT7z4V7x4WJHFm/9mOzGCnw8KHu9VUVUvyZR0FIb3wdT0zOzch/mPlYXFpeVP1ZXVI5fmVmBLpCq1Jwk4VNJgiyQpPMksgk4UHieDnyP/+Bytk6n5TcMMOxpOjexLAeSlbvVbPIAsA/5jl8eEf8ikVoMqZK/sFgclj6V5pjfR6nL9YKNbrYX1nZ1GuL3FX5OoHo5RYxM0u9W7uJeKXKMhocC5dhRm1CnAkhQKy0qcO8xADOAU254a0Og6xfi/kq95pcf7qfVliI/VpxMFaOeGOvGdGujMvfRG4lteO6f+904hTZYTGvGwqJ8rTikfhcV70qIgNfQEhJX+Vi7OwIIgH2nFh/D4KX+fHG3Wo7Ae/WrU9vcmccyzL+wrW2cR22b77JA1WYsJdsGu2F92E1wG18Ft8O+hdSqYzHxmzxDc/wfvKKOL</latexit>
Algorithm