@article{scholars12092, title = {A review on the verification approaches and tools used to verify the correctness of security algorithms and protocols}, doi = {10.14569/ijacsa.2019.0100621}, volume = {10}, note = {cited By 3}, number = {6}, pages = {146--152}, publisher = {Science and Information Organization}, journal = {International Journal of Advanced Computer Science and Applications}, year = {2019}, abstract = {Security algorithms and protocols are typical essential upgrades that must be involved within systems and their structures to provide the best performance. The protocols and systems should go through verification and testing processes in order to be more efficient and accurate. In the testing of software, traditional methods are used for accuracy check-up. However, this could not fulfill the measurement of all the testing requirements. The usage of formal verification approaches in checking security properties considers their best environment to be applied. The available literature discussed several approaches on developing the most robust formal verification methods for addressing and analyzing errors that face systems. This could be during the implantation process, unknown attacks, and nondeterministic adversary on the security protocols and algorithm. In this paper, a comprehensive review of the main formal verification approaches such as model checking and theorem approving has been conducted. Moreover, the use of verification tools was briefly presented and explained thoroughly. Those formal verification methods could be involved in the design, redesign of security protocols, and algorithms based on standards and determined sizes that is decided by these techniques' analysis. The critical analysis of the methods used in verifying the security of systems showed that model checking approaches and its tools were the most used approaches among all the reviewed methods. {\^A}{\copyright} 2019 International Journal of Advanced Computer Science and Applications.}, url = {https://www.scopus.com/inward/record.uri?eid=2-s2.0-85070520023&doi=10.14569\%2fijacsa.2019.0100621&partnerID=40&md5=de962aef6d6f2f20701772529282a6be}, keywords = {Formal verification; Network security; Software testing; Theorem proving, Algorithms and protocols; Formal verification approach; Formal verification methods; Models checking; Performance; Security algorithm; Security protocols; Testing process; Verification and testing; Verification process, Model checking}, author = {Al-humaikani, M. A. S. and Ab. Rahim, L. B.}, issn = {2158107X} }